剑指Offer----面试题41(2):和为s的连续正数序列
来源:互联网 发布:java web文件服务器 编辑:程序博客网 时间:2024/05/21 10:58
题目:
输入一个整数s,打印所有和为s的连续正数序列(至少含有两个数)。例如输入15, 由于1+2+3+4+5 = 4+5+6 = 7+8 = 15,所以打印出3个连续序列。
分析
源码
#include<iostream>using namespace std;void print(int small, int big, int sum){for (int i = small; i < big; ++i)cout << i << " + ";cout << big << " = " << sum << endl;}void Function(int sum){cout << "===============sum = " << sum << "=================" << endl;if (sum <= 2){cout << "输入的数值不符合要求" << endl;return;}int small = 1;int big = 2;int currentSum = small + big;int middle = (sum + 1) / 2;while (small < middle && big < sum){if (currentSum == sum){print(small, big, sum);}while (currentSum > sum && small < middle){currentSum -= small;++small;if (currentSum == sum)print(small, big, sum);}++big;currentSum += big;}cout << endl;}int main(){Function(1);Function(2);Function(5);Function(10);Function(15);Function(100);system("pause");return 0;}
===============sum = 1=================输入的数值不符合要求===============sum = 2=================输入的数值不符合要求===============sum = 5=================2 + 3 = 5===============sum = 10=================1 + 2 + 3 + 4 = 10===============sum = 15=================1 + 2 + 3 + 4 + 5 = 154 + 5 + 6 = 157 + 8 = 15===============sum = 100=================9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 = 10018 + 19 + 20 + 21 + 22 = 100请按任意键继续. . .
0 0
- 剑指Offer----面试题41(2):和为s的连续正数序列
- 【剑指Offer】面试题41:和为s的连续正数序列
- 剑指offer面试题41_2 和为s的连续正数序列(java实现)
- 【剑指offer】面试题57(2):和为S的连续正数序列
- 剑指offer面试题41和为s的两个数字VS和为s的连续正数序列
- [剑指offer][面试题41]和为s的两个数字 VS 和为s的连续正数序列
- [剑指offer]面试题41:和为s的两个数字,和为s的连续正数序列
- 剑指offer 面试题41—和为s的两个数字VS和为s的连续正数序列
- 【剑指Offer学习】【面试题41:和为s 的两个数字vs 和为s 的连续正数序列】
- 剑指offer-面试题41:和为s的两个数字VS和为s的连续正数序列
- 剑指offer之面试题41和为s的两个数字VS和为s的连续正数序列
- 剑指offer--面试题41:和为S的两个数字 vs 和为S的连续正数序列
- 剑指Offer-面试题41-和为s 的两个数字vs 和为s 的连续正数序列
- 【剑指offer】面试题41-和为S的两个数VS和为S的连续正数序列
- 剑指offer-面试题41-和为s的两个数字VS和为s的连续正数序列
- 剑指offer 面试题41 和为 s 的两个数字 VS 和为 s 的连续正数序列
- 剑指offer面试题[41]-和为s的两个数VS和为s的连续正数序列
- 剑指offer面试题 和为s的两个数字 VS 和为s的连续正数序列
- 1003. 我要通过!(20)
- Linux c 调试工具---strace
- android audio 源码分析之AudioService
- Shell脚本之crontab定时任务
- android DataBinding 的简介和使用
- 剑指Offer----面试题41(2):和为s的连续正数序列
- Android 四大组件五大布局
- uikit修改uk-button样式后出现的文字重叠现象
- CodeForces 500 C. New Year Book Reading(贪心)
- PAT 1010. 一元多项式求导 C语言
- POJ 3278(简单广搜)
- Eclipse 使用C++类库:pthread和openssl
- eclipse中不能找到dubbo.xsd解决方法
- 最常见功能的封装(功能之间的组装)