我是靠谱客的博主 无聊夕阳,这篇文章主要介绍和为S的连续数列,现在分享给大家,希望可以做个参考。

输入一个正数target,打印出所有和为target的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列1~5、4~6和7~8>

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream> using namespace std; void PrintNumber(int small, int big){ for (int i = small; i <= big; i++){ cout << i << " , "; } } void FindContinuousSequence(int sum){ int small = 1; int big = 2; int middle = (sum + 1) / 2; int currentSum = small + big; if (sum < 3){ return; } while (small < middle){ if (currentSum == sum) { PrintNumber(small , big); } while(currentSum > sum && small < middle){ currentSum -= small; small ++; if (currentSum == sum) PrintNumber(small , big); } big ++; currentSum += big; } } int main(){ int sum = 5; FindContinuousSequence(sum); }

最后

以上就是无聊夕阳最近收集整理的关于和为S的连续数列的全部内容,更多相关和为S内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部