这里是两种计算组合数的方法。 大同小异。
第一种的思路是:
加入从8个里面选出6个,则是入选过程:当选出的6个包含第一个元素的时候,是c75(从后面的7个中选
出5个),再加上不包含第一个元素的情况(c76)。即:c86=c75+c76;
第二种的思路是:
第二种是第一种的变形,在第二种中,c86=c75(包含第一个元素,从后面7个中选出5)+c65(包含第二
个元素,从后面6个中选出5个)+c55(包含第三个元素,从后面的5个中选出5个).
两种方法的效果是一样的。
POJ2245 code如下:
思路跟上面求组合的个数的思路差不多。
还是以1 2 3 4 5 6 7 8为例,从这八个数中取出来6个。
一:1在取出的结果集的6个数中时候,付给第count个makeup的数组元素,从后面的7个数中取其他5个数。
二:1不在取出的结果集的6个数中时候,从后面的7个数中取6个数。
其他的以此类推!