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

用到了组合的思想

#include<iostream>
#include<vector>
using namespace std;
vector<int>result;
void combination(int n,int sum)
{
if(n<=0||sum<=0)//递归出口
return;
if(sum==n) //从数列1,2,3...n中随意取几个数,此时和终于是等于sum
{
static int index=1;//用static声明一个静态持续变量,在整个程序执行期间一直存在
vector<int>::iterator iter=result.begin();
cout<<"第"<<index++<<"个组合是: ";
for(;iter<result.end();iter++)
cout<<*iter<<"+";
cout<<n;
cout<<endl; //注意这里不能用return
}

result.push_back(n);
combination(n-1,sum-n);//把n加入到sum的和计算当中
result.pop_back();
combination(n-1,sum);//不把n加入到sum的和计算当中
}
int main()
{
int n=0;
int sum=0;
cout<<"输入的数据的范围: ";
cin>>n;
cout<<endl;
cin.clear();
cout<<"输入要求的和: ";
cin>>sum;
cout<<endl;
combination(n,sum);
return 0;
}

C++实现输入两个整数n和m,从数列1,2,3...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. 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载

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

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

    编程求解,输入两个整数n和m,从数列1,2,3,--n中随意取几个数,使其和等于m.要求将所有的可能组合列出来. 求解思路: 1.首先判断,如果n>m,则n中大于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. windows环境中利用NMake工具编译连接C++源代码
  2. linux下openssl编程
  3. python numpy.meshgrid() 函数的用法(快速生成坐标矩阵)
  4. Oracle新建表时,复制另一张旧表的结构和数据
  5. ajax获取数据用弹窗显示_Vue之 点击返回弹出推荐商品弹窗
  6. idea怎么给项目改名_微软改名部惹祸了
  7. git add后取消_满满干货!——Git知识总结
  8. Python之进程+线程+协程(事件驱动模型、IO多路复用、select与epoll)
  9. linux c 获取硬盘使用率,Linux通过c得到硬盘使用情况
  10. sqli-labs Less-11 and Less-12
  11. 上海电信光猫SA1456C桥接后4K IPTV继续使用
  12. 好用的项目工时管理系统有哪些
  13. 【Word】如何实现特殊数字 带圈数字
  14. 计算机专业线性代数教学大纲,线性代数(专业必修课)教学大纲(2018版)
  15. 专访SOSO街景地图:寻找工具性产品突破的机遇
  16. 移动硬盘安装manjaro 20.2以及常用软件安装
  17. FSDB Dumper
  18. word涂改涂掉图片_word画图-厉害了Word哥!原来还可以这样画图
  19. 广东工业大学数据库课设(点歌系统)
  20. Linux下CPU使用率过高的排查方法

热门文章

  1. 2020年全国大学生智能汽车竞赛山东赛区比赛专家组工作方案
  2. 动图与数据同步关系研究
  3. 不愿说再见 | 自动化系2019年毕业典礼发言
  4. 报错:java.lang.IllegalArgumentException: non null key required 错误
  5. applicationcontext添加配置_Spring源码分析2 — spring XML配置文件的解析流程
  6. flutter 键盘遮挡输入框问题_flutter插件推荐之 keyboard_avoider - 解决输入时的键盘遮挡问题...
  7. c语言各种编程风格 微软 gnu,编程规范-c语言的编程风格
  8. FPGA的设计艺术(12)使用parameter构建可重用的逻辑设计
  9. (转载)keras使用入门及3D卷积神经网络资源
  10. 用树莓派做一个alibaba-guest