可以从复杂的组中制作多少种不同的组合?

时间:2013-07-20 14:49:20

标签: math combinations

复杂的组我指的是并非所有值都不同的组。也就是说,如果普通组是1,2,3,4,5,6,7(其中不同组合的数量是7C0 + 7C1 + 7C2 ... = 2 ^ 7),那么一个例子为复数群是1,1,1,3,3,5,7。如何计算这些组中可以生成多少种不同的组合(顺序无关紧要)?

编辑:澄清这一点。例如,如果我们取7C1 = 7,那么我们发现它不能应用于复杂的组。那是因为我们得到了7个不同的组,但是其中一些是相同的(1 = 1 = 1和3 = 3),所以实际上只有4个不同的组(1,3,5,7)。

换句话说,在1,1,2的简单情况下,简单的2 ^ 3会考虑这些组:

{},{1},{1},{2},{1,1},{1,2},{1,2},{1,1,2} = 8

我需要的是一种计算不同群体数量的方法(我认为{1,2} = {2,1})。那会考虑这些:

{},{1},{2},{1,1},{1,2},{1,1,2} = 6

1 个答案:

答案 0 :(得分:2)

它是集合中唯一元素(count + 1)的乘积。

Explanation :对于每个唯一号码,它可以从zerok次发生,其中k是该号码的重复次数。因此,每个唯一号码都有[0..k]个,即(k+1)个选项。所以它是集合中唯一元素(count + 1)的乘积。

对于{1,1,2}1 = 2+1 = 3的计数+ 1和2的计数+ 1 = 1+1 = {{ 1}}
所以答案是2

对于3*2 = 6,它是{1,1,1,3,3,5,7}

python3代码:

(3+1)*(2+1)*(1+1)*(1+1) = 4*3*2*2 = 48