C++实现输入两个整数n和m,从数列1,2,3...n中随意取几个数,使其和等于m,要求列出所有的组合
题目: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,要求列出所有的组合相关推荐
- 算法--中兴面试:输入两个整数 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 中随 ...
- 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载
题目:编程求解,输入两个整数n和m,从数列1,2,3,--n中随意取几个数,使其和等于m.要求将所有的可能组合列出来. 分析:分治的思想.可以把问题(m,n)拆分(m - n, n -1)和(m, n ...
- 输入两个整数n和m,从1-n中随意取几个数,使其和等于m
编程求解,输入两个整数n和m,从数列1,2,3,--n中随意取几个数,使其和等于m.要求将所有的可能组合列出来. 求解思路: 1.首先判断,如果n>m,则n中大于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 ...
最新文章
- windows环境中利用NMake工具编译连接C++源代码
- linux下openssl编程
- python numpy.meshgrid() 函数的用法(快速生成坐标矩阵)
- Oracle新建表时,复制另一张旧表的结构和数据
- ajax获取数据用弹窗显示_Vue之 点击返回弹出推荐商品弹窗
- idea怎么给项目改名_微软改名部惹祸了
- git add后取消_满满干货!——Git知识总结
- Python之进程+线程+协程(事件驱动模型、IO多路复用、select与epoll)
- linux c 获取硬盘使用率,Linux通过c得到硬盘使用情况
- sqli-labs Less-11 and Less-12
- 上海电信光猫SA1456C桥接后4K IPTV继续使用
- 好用的项目工时管理系统有哪些
- 【Word】如何实现特殊数字 带圈数字
- 计算机专业线性代数教学大纲,线性代数(专业必修课)教学大纲(2018版)
- 专访SOSO街景地图:寻找工具性产品突破的机遇
- 移动硬盘安装manjaro 20.2以及常用软件安装
- FSDB Dumper
- word涂改涂掉图片_word画图-厉害了Word哥!原来还可以这样画图
- 广东工业大学数据库课设(点歌系统)
- Linux下CPU使用率过高的排查方法
热门文章
- 2020年全国大学生智能汽车竞赛山东赛区比赛专家组工作方案
- 动图与数据同步关系研究
- 不愿说再见 | 自动化系2019年毕业典礼发言
- 报错:java.lang.IllegalArgumentException: non null key required 错误
- applicationcontext添加配置_Spring源码分析2 — spring XML配置文件的解析流程
- flutter 键盘遮挡输入框问题_flutter插件推荐之 keyboard_avoider - 解决输入时的键盘遮挡问题...
- c语言各种编程风格 微软 gnu,编程规范-c语言的编程风格
- FPGA的设计艺术(12)使用parameter构建可重用的逻辑设计
- (转载)keras使用入门及3D卷积神经网络资源
- 用树莓派做一个alibaba-guest