0到9的排列组合合,这个分两组为啥不c8*4呢

就解释那一行输出看例子:

这裏的思想是加1取余:
任何整数对3取余只能得到三个结果:0,12,和上面的数字完全吻合那么:对0 1 2,每个数加1并且对3取余得:1 2 0,再加1取餘:2 0 1也就是第二个例子:

得出的结果是一样的。那么要得到另外三种排列呢是不是应该先把0 1 2变成0 2 1,然后得:0 2 11 0 2,2 1 0那么式子应该变成:

规律这样看应该很明显了吧,下一种情况是上面一种情况的基础上加了一些东西始终符合:

这种算法的循环次数较少,应该是复杂度較优的

}

1、这是数学中的0到9的排列组合合問题

2、所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序需要考虑顺序。组合则是指从给定个数的元素中仅仅取出指定个数的元素不考虑排序。

3、10人分成两组一组7人,另一组3人这不考虑顺序,只需考虑选的人数显然是一个组合问题。

4、在该问題中既然已经选中7人,其他3个就自动分到B组了没有其他的可能性, 所以只需计算C(10,7) 即可或者说已经选择3人,其它7人就自动分配A组了所以也可计算C(10,3) 。

7、注意问题:此问题不能用C(10,7)*C(10,3)=14400 因为选中了一些人,另一些人就自动被确定了但如果不能被确定的,比如:“如果有 x组十囚 y组十人, x组选3人,y组选7人”的话才需要相乘。有些0到9的排列组合合问题还是较难的一定要认真弄懂题目。

}

我要回帖

更多关于 0到9的排列组合 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信