编程求解,输入两个整数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相关推荐

  1. 算法--中兴面试:输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数, 使其和等于 m

    转载请注明原文出处:http://blog.csdn.net/baidu_37107022/article/details/75125846 Q题目 编程求解 输入两个整数 n 和 m,从数列1,2, ...

  2. 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,使其和等于 m

    转载自:http://blog.sina.com.cn/s/blog_7571423b01016707.html 编程求解:输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随 ...

  3. C++实现输入两个整数n和m,从数列1,2,3...n中随意取几个数,使其和等于m,要求列出所有的组合

    题目:C++实现输入两个整数n和m,从数列1,2,3...n中随意取几个数,使其和等于m,要求列出所有的组合 用到了组合的思想 #include<iostream> #include< ...

  4. 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载

    题目:编程求解,输入两个整数n和m,从数列1,2,3,--n中随意取几个数,使其和等于m.要求将所有的可能组合列出来. 分析:分治的思想.可以把问题(m,n)拆分(m - n, n -1)和(m, n ...

  5. ACMNO.31 C语言-宏求余 输入两个整数,求他们相除的余数。用带参的宏来实现,编程序。

    题目描述 输入两个整数,求他们相除的余数.用带参的宏来实现,编程序. 输入 a b两个数 输出 a/b的余数 样例输入 3 2 样例输出 1 来源/分类 C语言 题目截图: 思路: 这个是求余数,应该 ...

  6. ACMNO.7 输入两个正整数m和n,求其最大公约数和最小公倍数。 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35

    题目描述 输入两个正整数m和n,求其最大公约数和最小公倍数. 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35 来源/分类 C语言 示例照片: 设计思路: 本题最难的 ...

  7. python输入两个整数按先大后小的顺序输出_指针变量:输入a和b两个整数,按先大后小的顺序输出a和b。...

    #include int main() { int *p1,*p2,*p,a,b; printf("please enter two integer numbers:"); sca ...

  8. ytu 1057: 输入两个整数,求他们相除的余数(带参的宏 + 模板函数 练习)

    1057: 输入两个整数,求他们相除的余数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 177  Solved: 136 [Submit][Stat ...

  9. 输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。

    题目:输入两个整数序列.其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序.为了简单起见,我们假设push序列的任意两个整数都是不相等的. 比如输入的push序列是1.2.3 ...

最新文章

  1. Python执行pyinstaller打包生成的exe文件实战
  2. AngularJS 、Backbone.js 和 Ember.js 的比较
  3. 异步FIFO芯片IDT7204、IDT7205的使用
  4. nexys3使用笔记1
  5. fzu1062 洗牌问题(思路模拟)
  6. 关于html和javascript在浏览器中的加载顺序问题的讨论(zz)
  7. python虚拟人脸生成_Python-OpenCV人脸识别之数据集生成
  8. 菜鸟学Linux - bash的配置文件
  9. html 定位_定位position
  10. Summary on deep learning framework --- Torch7
  11. JAVA数据库连接池的工作机制
  12. 《锋利的jQuery》笔记 第2章 jQuery选择器
  13. 医药行业数据分析软件(含非付费)--对比分析
  14. SVD奇异值分解在推荐系统中的应用及实现
  15. windows 7 iso镜像刻录到U盘后选择安装的版本
  16. 电脑键盘equals在哪个位置_电脑键盘符号
  17. AndroidStudio Task不显示
  18. python的类中 _、__和__xx__的区别
  19. ps中解决标点符号在行开头的问题
  20. WSUS服务器不能下载补丁的最终解决办法

热门文章

  1. 青瓷游戏递表港交所:收入猛增,毛利率走低,研发占比不值一提
  2. AJAX实现页面登录及注册用户名验证
  3. ORACLE表唯一自增字段
  4. 计算机操作系统 - 目录1
  5. 用Python实现腾讯云点播VOD
  6. 由于列表中存在相同实例导致insert_many报错解决办法
  7. Java给定字符串形式的非负数,返回两个非负数的乘积
  8. 使用html2canvas 截图 出现图片空白的问题
  9. 历年百度搜索风云榜小说年度冠军,2019年元尊、圣墟、剑来大PK
  10. 入门Web前端开发需要学习哪些技术?薪资高吗?