和为n连续正数序列
来源:互联网 发布:vmware mac os 下载 编辑:程序博客网 时间:2024/04/30 11:16
题目:输入一个正数n,输出所有和为n连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
我们从头开始找,初始化时连续序列是1-2,同时记录sum=3,
如果连续序列和小于n,那么就把连续序列区间的终点向后移,更新sum;
如果连续序列的和大于n,那么就把连续序列区间的起点向后移,更新sum;
如果连续序列的和等于n,那么就输出这个连续序列,同时区间起点和终点同时向后移,更新sum,找下一个区间。
区间起点若超过n的一半,那么就不需要再找了。
void FindContinuousSequence(int n){int start,end,mid,sum;mid = (n >> 1);start = 1;end = 2;sum = 3;while (start <= mid){if (sum < n) sum += ++end; // move end forward and update the sum.else if (sum > n) sum -= start++; // move start forward and update the sum.else{// print the start and end of continuous sequence.printf("%d-%d\n", start, end); // move start forward, move end forward and update the sum.sum -= start++; sum += ++end;}}return;}
- 和为n连续正数序列
- 和为n连续正数序列
- 和为n连续正数序列--总结
- 和为n连续正数序列
- 和为n连续正数序列
- 和为n 连续正数序列
- 和为n连续正数序列
- 和为n连续正数序列
- 和为n连续正数序列
- 和为n连续正数序列
- 和为n的连续正数序列
- 和为n连续正数序列
- 和为 n 连续正数序列
- 和为n连续正数序列
- 和为n连续正数序列
- 和为n 连续正数序列
- 51.和为n连续正数序列
- 和为n的连续正数序列
- 中文分词语言模型和动态规划
- 自然语言处理应用方向和专业英语
- 隐式声明与内建函数不兼容问题
- linux 子进程变量传递给父进程
- Linux动态库(.so)搜索路径
- 和为n连续正数序列
- 分词:词性标注北大标准
- Maven学习第三天-仓库
- 详细解说hash_map
- 程序设计方法学
- 在 Linux 平台中调试 C/C++ 内存泄漏方法
- java读取pdf总结
- there is no source code available for the current location的解决方法
- JavaWeb开发-国际化-NumberFormat类