递归
wumuzi
这个作者很懒,什么都没留下…
展开
-
将整数nSum拆分成num个数的和的形式——阿里巴巴笔试题
将一个整数nSum分解成num个整数和的形式,如nSum=6,num=3那么,nSum就可以分解成为1 1 4;1 2 3;222。请编程实现! 方法解析:采用递归的算法,分解时,层次(nDepth,基于0)每深一层,其层所对应的值就应该不比上一层的值小,所以循环体中变量i应从上一层的值开始,直到nSum/num时截止,因为最后一组最大情况应都为nSum/num。其中nDepth+nu原创 2012-08-07 23:33:11 · 5001 阅读 · 0 评论 -
求正整数n所有可能的和式的组合
求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2) 首先说一下,群里面很多人在问这个东东怎么去打印,当然如果是只求组合个数的话,他就是一个完全背包的问题,如果要打印的话,那还真的费一番功夫。我们可以将这题想为一个找零钱问题,以前找零钱问题是,我们有1元、2元、5元、10元面值的纸币,现在我有20元钱,问有多少种找法。 这个找零钱如果原创 2012-10-07 22:03:49 · 15084 阅读 · 9 评论 -
找零钱递归实现
题目:现有1元、2元、5元、10元、20元面值不等的钞票,问需要20元钱有多少种找钱方案,打印所有的结果! 分析:此题如果没要求打印结果,只要求打印出一共有多少种方案,那么可以直接用动态规划,参考背包问题——“01背包”及“完全背包”装满背包的方案总数分析及实现如果要求打印所有结果,那递归是再好不过的了。 #include #include using namespac原创 2012-08-06 22:59:12 · 11605 阅读 · 1 评论