输入两个整数n和m,从1-n中随意取几个数,使其和等于m
编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来。
求解思路:
1.首先判断,如果n>m,则n中大于m的数不可能参与组合,此时置n = m;
2.递归求解
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;void dfs(int &n,vector<vector<int>> &res,vector<int> &tmp,int m,int index)
{if(m==0)res.push_back(tmp);else if(m>0){for(int i=index;i<=n;i++){tmp.push_back(i);dfs(n,res,tmp,m-i,i+1);tmp.pop_back();}}
}vector<vector<int>> find(int n,int m)
{vector<vector<int>> res;vector<int> tmp;if(n>=m)n=m;dfs(n,res,tmp,m,1);return res;
}int main()
{int n,m;while(cin>>n>>m){vector<vector<int>> res=find(n,m);for(int i=0;i<res.size();i++){for(int j=0;j<res[i].size();j++)cout<<res[i][j]<<" ";cout<<endl;}}return 0;
}
输入两个整数n和m,从1-n中随意取几个数,使其和等于m相关推荐
- 算法--中兴面试:输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数, 使其和等于 m
转载请注明原文出处:http://blog.csdn.net/baidu_37107022/article/details/75125846 Q题目 编程求解 输入两个整数 n 和 m,从数列1,2, ...
- 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,使其和等于 m
转载自:http://blog.sina.com.cn/s/blog_7571423b01016707.html 编程求解:输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随 ...
- C++实现输入两个整数n和m,从数列1,2,3...n中随意取几个数,使其和等于m,要求列出所有的组合
题目:C++实现输入两个整数n和m,从数列1,2,3...n中随意取几个数,使其和等于m,要求列出所有的组合 用到了组合的思想 #include<iostream> #include< ...
- 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载
题目:编程求解,输入两个整数n和m,从数列1,2,3,--n中随意取几个数,使其和等于m.要求将所有的可能组合列出来. 分析:分治的思想.可以把问题(m,n)拆分(m - n, n -1)和(m, n ...
- ACMNO.31 C语言-宏求余 输入两个整数,求他们相除的余数。用带参的宏来实现,编程序。
题目描述 输入两个整数,求他们相除的余数.用带参的宏来实现,编程序. 输入 a b两个数 输出 a/b的余数 样例输入 3 2 样例输出 1 来源/分类 C语言 题目截图: 思路: 这个是求余数,应该 ...
- ACMNO.7 输入两个正整数m和n,求其最大公约数和最小公倍数。 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35
题目描述 输入两个正整数m和n,求其最大公约数和最小公倍数. 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35 来源/分类 C语言 示例照片: 设计思路: 本题最难的 ...
- python输入两个整数按先大后小的顺序输出_指针变量:输入a和b两个整数,按先大后小的顺序输出a和b。...
#include int main() { int *p1,*p2,*p,a,b; printf("please enter two integer numbers:"); sca ...
- ytu 1057: 输入两个整数,求他们相除的余数(带参的宏 + 模板函数 练习)
1057: 输入两个整数,求他们相除的余数 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 177 Solved: 136 [Submit][Stat ...
- 输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
题目:输入两个整数序列.其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序.为了简单起见,我们假设push序列的任意两个整数都是不相等的. 比如输入的push序列是1.2.3 ...
最新文章
- Python执行pyinstaller打包生成的exe文件实战
- AngularJS 、Backbone.js 和 Ember.js 的比较
- 异步FIFO芯片IDT7204、IDT7205的使用
- nexys3使用笔记1
- fzu1062 洗牌问题(思路模拟)
- 关于html和javascript在浏览器中的加载顺序问题的讨论(zz)
- python虚拟人脸生成_Python-OpenCV人脸识别之数据集生成
- 菜鸟学Linux - bash的配置文件
- html 定位_定位position
- Summary on deep learning framework --- Torch7
- JAVA数据库连接池的工作机制
- 《锋利的jQuery》笔记 第2章 jQuery选择器
- 医药行业数据分析软件(含非付费)--对比分析
- SVD奇异值分解在推荐系统中的应用及实现
- windows 7 iso镜像刻录到U盘后选择安装的版本
- 电脑键盘equals在哪个位置_电脑键盘符号
- AndroidStudio Task不显示
- python的类中 _、__和__xx__的区别
- ps中解决标点符号在行开头的问题
- WSUS服务器不能下载补丁的最终解决办法