允许重复选取的组合数

来源:互联网 发布:日本人 二战 知乎 编辑:程序博客网 时间:2024/05/20 08:24

问题: 从1,2,3,。。。,10,11,12,13里面选4个数,允许重复,例如:(1、3、5、11),(3、3、11、13)等,问共有多少种选取方法?

答案: (13×14×15×16)/(1×2×3×4)=1820

原理:用12个“1”分隔出13个区域,各个区域代表1、2、3、。。。、12、13,选取的4个数用4个“0”,放入相应的区域。

          例如:(1、3、5、11),在代表1、3、5、11的区域放入“0”,就是:0110110111111011(12个1和4个0)

          再例如:(3、3、11、13),在代表3、3、11、13的区域放入“0”,就是110011111111010(12个1和4个0)

          问题中求解的组合数,和12个1和4个0的所有不同的排列个数相等。16个元素的全排列是16!,其中12个1相同,要除以12!,4个0相同,要除以4!,所以

         答案是:((13-1)+4)!/((13-1)!×4!)

          一般讲,从N个数中选取k个数,可以重复选取,答案是: (((N-1)+k)!/((N-1)!×k!)

0 0
原创粉丝点击