和为S的连续正数序列
2016-01-26 15:42
141 查看
题目描述
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck![b]输出描述:[/b]
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
class Solution { public: vector<vector<int> > FindContinuousSequence(int sum) { vector<vector<int> > result; if (sum <= 2) return result; int k = 1,my_sum = 0; vector<int> vv; while(my_sum <= sum) { my_sum += k; vv.push_back(k); ++k; } --k; my_sum = my_sum - k; vv.pop_back(); --k; while(k <= sum / 2 +1) { if(my_sum == sum) { result.push_back(vv); my_sum -= vv[0]; vv.erase(vv.begin()); } else if(my_sum < sum) { vv.push_back(++k); my_sum += k; } else { my_sum -= vv[0]; vv.erase(vv.begin()); } } return result; } };
相关文章推荐
- javascript格式化字符串
- 超好看的下拉刷新动画Android代码实现
- 让ICON生动起来 纯CSS实现带动画的天气图标
- 给oracle写自增序列
- 结构体数组的输入输出函数
- 【HDU】 3308 LCIS
- JS与JAVA获取xml格式的字符串指定的值
- 杭电2674 N!Again
- Android 仿秒拍,微信录制短视频
- git config 配置
- RequestMapping
- jQuery选择器中的包含关系
- 允许或禁止未知来源apk的安装
- UNIX环境高级编程-open参数
- android之调用摄像头
- C++面试题(一)
- Android利用Get、Post 获取网络数据
- HttpWebRequest请求返回非200的时候 HttpWebResponse怎么接受返回错误提示
- selenium 学习笔记 ---新手学习记录(4) 问题总结(java)-autoit3脚本使用
- HDU 1010 Tempter of the Bone(DFS)