和为S的连续正数序列
来源:互联网 发布:起死 鲁迅 知乎 编辑:程序博客网 时间:2024/05/16 07:10
这是一道运用双索引解决的编程题。
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
从i到j的和小于sun,则j++;如果大于sum,则左边的索引右移i++;同时i....j的和减去i-1;
代码实现:
vector<vector<int> > FindContinuousSequence(int sum) { vector<vector<int> > res; if(sum<=0) return res; int s=1; int i=1,j=1; while(i!=(sum+1)/2){ if(s==sum){ vector<int> cur; for(int k=i;k<=j;k++) cur.push_back(k); res.push_back(cur); s-=i;//继续求出下一组的序列 i++; } else if(s<sum){ j++; s+=j; } else{ s-=i; i++; } } return res; }
阅读全文
0 0
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为s的连续正数序列
- 和为s的连续正数序列
- 和为s的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为s的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- mybatis增删改查综合案例
- 移动端的canvas电子签名
- Thinking in Java 读书笔记 第三章 运算符
- 用类描述计算机中CPU的速度和硬盘的容量
- 动态规划以及与贪心的区别
- 和为S的连续正数序列
- ActiveX 控件装入失败!-- 请检查浏览器的安全设置。
- inno setup禁止中文安装路径
- HDU 4435(charge-station)(BFS+最小花费)
- 设计模式-创建型-生成器
- Tomcat源码分析--生命周期管理
- 蓝桥杯-高精度加法
- 关于内连接、左外连接和迫切左外连接
- CSS(四) 设置文本样式