编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来(背包问题求解)
来源:互联网 发布:unity3d 碰撞检测 编辑:程序博客网 时间:2024/05/19 02:23
思路来自:http://blog.csdn.net/randyjiawenjie/article/details/6335208
也是同样采用背包问题的思路:对于一个数字,加入背包或不加入背包。
看代码:
/* * 微软100,21题,和为M * start初始为1,end初始为n * currentSum为当前vec中元素的和 * sum为输入的M值 */void findSumM(int sum, int currentSum, int start, int end, vector<int>& vec){if(start > end)return;if(currentSum == sum){//打印for(unsigned i=0; i<vec.size(); i++){cout<<vec[i]<<"*";}cout<<endl;return;}if(currentSum + start > sum){return;}//使用start这个数字vec.push_back(start);findSumM(sum, currentSum+start, start+1, end, vec);//不使用start这个数字vec.pop_back();findSumM(sum, currentSum, start+1, end, vec);}测试代码:
int main() {vector<int> sumVec;findSumM(10, 0, 1, 7, sumVec);printf("****************\n");输出结果:
1*2*3*4*
1*3*6*
1*4*5*
2*3*5*
4*6*
****************
0 0
- 编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来(背包问题求解)
- 编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来(背包问题求解)
- 编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来(背包问题求解) .
- Java求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来(背包动态规划问题求解)
- 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来。实际上就是一个背包问题
- 输入两个正整数n和m,从数列1,2,3.......n中随意取几个数,使其和等于m,要求将其中所有的可能组合列出来.编程求解
- 输入两个整数n和m,从数列1,2,3,...,n中随意取几个数,使其和等于m,将其所有可能的组合列出来。 递归求解
- 输入两个整数n和m,从数列1,2,3,...,n中随意取几个数,使其和等于m,将其所有可能的组合列出来。 回溯求解
- 输入两个整数 n 和 m,从数列1,2,3…….n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来
- 输入两个整数n 和 m, 从数列1, 2, 3, ..., n中随意取几个数, 使其和等于m, 要求将所有组合列出来
- 输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.
- 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.
- 21.输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数n和m,从数列1,2,3.......n 中随意取几个数, 使其和等于m,要求将其中所有的可能组合列出来。
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- LINUX设备驱动之设备模型一--kobject
- printf 格式化输出符号详细说明
- 生成txt文件个内容
- VC操作sqlite3数据库插入blob字段(记录)
- Hibernate与 MyBatis的比较
- 编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来(背包问题求解)
- Android开发技巧——使用PopupWindow实现弹出菜单
- 【android开发资源 汇总贴】关于微信的那点帖。
- C++中string类的使用详解
- 本地调试一切正常,发布到IIS时候就出错,DLL版本问题引起的
- HTTP Status 404(The requested resource is not available)的几种解决方法
- 虚拟机网络接入技术
- 注释技术——TODO、FIXME和XXX的用处
- 跟着8张思维导图学习javascript