擅长:python、mysql、java
<p>从<a href="http://perldoc.perl.org/perlfaq4.html#How-do-I-permute-N-elements-of-a-list%3F" rel="nofollow">perl faq</a>:</p>
<pre><code>use Algorithm::Permute;
my @array = 'a'..'d';
my $p_iterator = Algorithm::Permute->new ( \@array );
while (my @perm = $p_iterator->next) {
print "next permutation: (@perm)\n";
}
</code></pre>
<p>这将生成一个列表的每一个排列,尽管有50个元素,但这将是相当多的。在</p>
<p>我不确定是否有一个方便的方法来选择和过滤子列表。我最初的想法是保留一份“看到”的名单。我将开始考虑在散列中维护一个“seen”列表,并跳过重复项,但是您必须生成完整的置换列表才能做到这一点。在</p>
<p>或者有<a href="http://search.cpan.org/~allenday/Math-Combinatorics-0.09/lib/Math/Combinatorics.pm#combine()" rel="nofollow">combine</a></p>
^{pr2}$
<p>3路组合是:19000奇数。
4 is:230300
5是:</p>
<p>不知道25是什么-我没准备好运行它!在</p>
<p>但请注意,这是一个大手术,所以无论你做什么都需要一段时间。在</p>