给定一个随机数,我想知道该数字有多少种不同的排列。
对于小数字,我可以手工完成,但我似乎无法为它提取一般算法。
所以我问wolfram alpha什么是permutations of {a,a,a,b, b, c, d}
它返回420.
随附的代码链接说它是使用以下方法计算的:
Length[{a, a, a, b, b, c, d}]!/Times @@ (#1! & ) /@ Tally[{a, a, a, b, b, c, d}][[All,2]]
任何人都可以解释这段代码或解释我应该如何计算某个随机数的可能排列数。
注意:我不需要知道不同的排列是什么。我只想计算可能有多少不同。