给一个正整数sum,打印出所有和为sum的连续正整数序列之和。
来源:互联网 发布:伽罗瓦理论知乎 编辑:程序博客网 时间:2024/05/17 01:09
本题的思路为:首先我们用俩个指针,samll,big,当前和为small到big的和,如果当前和大于sum则,small++,如果当前和小于sum则big++;
代码:
vector<vector<int> > FindContinuousSequence(int sum) { int big=2; int small=1; int curSum=small+big; vector<vector<int>> result; if(sum<3) return result; vector<int> data; while(small<(sum+1)/2){ if(curSum==sum){ Iniatia(data,small,big); result.push_back(data); data.clear(); } while(curSum>sum && small<(sum+1)/2){ curSum -= small; small++; if(curSum==sum){ Iniatia(data,small,big); result.push_back(data); data.clear(); } } big++; curSum += big; } return result; } void Iniatia(vector<int> &data,int start,int end){ for(int i=start;i<=end;i++){ data.push_back(i); } }
阅读全文
0 0
- 给一个正整数sum,打印出所有和为sum的连续正整数序列之和。
- 和为sum的连续正整数序列
- 面试题:输入一个正整数n,输出所有的连续正整数之和等于n的序列
- 输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
- 一个正整数分解为几个连续的正整数之和
- 41 - 找出数组中和为sum的 2个数字 | 找出和为sum的连续正整数序列
- 打印所有和为s的连续正整数序列(至少含两个数)
- 打印和为N的连续正整数序列
- 找出所有和为n的连续正整数序列
- 剑指Offer——输入正整数S,打印出所有和为S的连续正数序列(至少含有两个正数)
- 和为n的连续正整数序列
- 和为 n 的连续正整数序列
- 和为N的连续正整数序列
- 和为N的连续正整数序列
- 和为 s 的连续正整数序列
- 网易笔试题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
- 编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列
- 一个整数分解为连续正整数之和
- 关于swoole 定时器有时候无法清除的解决方法
- hdu 1016 Prime Ring Problem(素数环)
- 程序员需要知道的算法
- Pandas的数据结构
- 负能量,不传递
- 给一个正整数sum,打印出所有和为sum的连续正整数序列之和。
- 如何使用gulp
- Bat脚本实现定时演示PPT后自动关闭PPT
- idea最后的安装步骤
- dyld: Library not loaded: @rpath/libswiftCore.dylib问题解决
- Kali linux渗透测试(七)
- TCP和UDP的区别和应用
- nio基本使用
- 【知了堂学习笔记】Model1、Model2和MVC架构模式