使用Perl生成组合

时间:2012-02-02 00:26:05

标签: perl combinatorics

我需要编写一个Perl例程,它将生成给定集合的n个选择k组合。我不需要计算有多少套,我必须能够打印出来。我很难过。

感谢任何建议。

问候。

2 个答案:

答案 0 :(得分:5)

有一个名为Math::Combinatorics的模块可以产生组合(nCr),排列(nPr)以及您提供给它的任何事物集的紊乱。

答案 1 :(得分:-2)

如果你想要不重复的组合,你可以生成长度为 k 的所有二进制数,选择 n 1的那些并按固定顺序将它们应用于集合:0表示未选中,1表示已选择。要获取二进制数,请使用sprintf '%05b';计算1的使用tr/1//