如何解决这个组合问题?
| 1,2,……N个人,从中选出K个人,用C语言编程:将所有可能的组合输出.例如:N个人中选3个,可能有1,2,3或2,3,4等.(最好能将结果输入到一个多维数组中,第一维表示第几个组合,第二维表示该组合中具体的代号,比如1,2,3) 请高手帮帮忙,小弟不会啊,谢谢大家了! |
----------------解决方案--------------------------------------------------------
穷举法.选K个人用K个FOR循环.用K个IF来判断条件.
----------------解决方案--------------------------------------------------------
2楼的方法直观,可以实现,但很烦,一大堆for跟if,效率不高。
用递归能不能实现呢?请大家一起考虑下------
----------------解决方案--------------------------------------------------------
2楼的兄弟说的不现实啊,假如我的程序中的K是个不定的数,我应该怎么穷举啊,再说了K很大时,如何穷举,请另外帮忙想个方法.
3楼的兄弟,递归我也想过,可没有想出来,你帮帮忙啊
----------------解决方案--------------------------------------------------------
我想了挺久,还在想,不好意思。
所以我才提出让大家来考虑一下.
----------------解决方案--------------------------------------------------------