Генерация комбинаций с использованием Perl - PullRequest
0 голосов
/ 02 февраля 2012

Мне нужно написать подпрограмму Perl, которая будет генерировать n выбор k комбинаций данного набора.Мне не нужно считать, сколько наборов есть, я должен быть в состоянии распечатать их.Я довольно озадачен.

Любой совет приветствуется.

С уважением.

Ответы [ 2 ]

5 голосов
/ 02 февраля 2012

Есть модуль с именем Math :: Combinatorics , который производит комбинации (nCr), перестановки (nPr) и отклонения от любого набора вещей, которые вы ему предоставляете.

0 голосов
/ 02 февраля 2012

Если вы хотите комбинации без повторения, вы можете сгенерировать все двоичные числа длиной k , выбрать те, которые имеют n 1 и применить их к набору в фиксированном порядке: 0означает, что не выбрано, 1 означает, что выбрано.Чтобы получить двоичное число, используйте sprintf '%05b';для подсчета использования 1 tr/1//.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...