github-july-寻找和为定值的多个数
来源:互联网 发布:人类命运共同体 知乎 编辑:程序博客网 时间:2024/05/22 06:56
寻找和为定值的多个数
题目描述
输入两个整数n和sum,从数列1,2,3.......n 中随意取几个数,使其和等于sum,要求将其中所有的可能组合列出来。
解法:
类背包问题(递归问题)
可以看出这是关于0-1背包问题,可以将问题定义为f(n,m),从1->n中选择多个数,使得之和为m
那么(1)选取n,则剩下从n-1个数中选择和为m-n的数,即求f(n-1,m-n)
( 2)不选取n,则从剩下的n-1个数中选择和为m的数,即求f(n-1, m)
那么(1)选取n,则剩下从n-1个数中选择和为m-n的数,即求f(n-1,m-n)
( 2)不选取n,则从剩下的n-1个数中选择和为m的数,即求f(n-1, m)
list<int> nums;void func(int n, int m){if(n<=0 || m<=0)return;if(n == m){for(list<int>::iterator iter = nums.begin();iter!=nums.end();iter++)cout<<*iter<<"+";cout<<n<<endl;}nums.push_front(n);func(n-1, m-n);nums.pop_front();func(n-1,m);}
0 0
- github-july-寻找和为定值的多个数
- 【July程序员编程艺术】之寻找和为定值的两个或者多个数
- 寻找和为定值的多个数
- 寻找满足和为定值的多个数
- 寻找和为定值的两个数/多个数
- 寻找和为定值的两个或多个数
- 寻找和为定值的多个数
- 【编程练习】寻找和为定值的多个数
- 寻找和为定值的多个数
- 寻找和为定值的多个数
- 寻找和为定值的多个数
- 【算法】寻找和为定值的多个数
- 寻找和为定值的多个数
- 寻找和为定值的多个数
- 寻找和为定值的多个数
- 寻找和为定值的多个数
- 寻找和为定值的多个数
- 寻找和为定值的多个数
- 注意Java陷阱
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)(574A,574B)
- [Phonegap+Sencha Touch] 移动开发4 Cordova/Phonegap应用调试方法汇总
- JavaScript 函数调用
- 630-850nm雪崩管apd列表
- github-july-寻找和为定值的多个数
- jedisPool中的jedis实例被还回后是否会断开和redis服务端的socket连接
- iOS 学习资料整理
- linux时间同步,ntpd、ntpdate
- Java内存管理原理及内存区域详解
- Post方式请求提交数据到服务器
- 支付宝免签约接口怎么样
- 使用泛型存储不同类型的数据列表
- Android Studio教程02-Hello Word