洛谷1147 连续自然数和
来源:互联网 发布:星际战甲克洛诺斯数据 编辑:程序博客网 时间:2024/05/22 06:05
连续自然数和
本题地址: http://www.luogu.org/problem/show?pid=1147
题目描述
对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。
例子:1998+1999+2000+2001+2002 = 10000,所以从1998到2002的一个自然数段为M=10000的一个解。
输入输出格式
输入格式:
包含一个整数的单独一行给出M的值(10 <= M <= 2,000,000)。
输出格式:
每行两个自然数,给出一个满足条件的连续自然数段中的第一个数和最后一个数,两数之间用一个空格隔开,所有输出行的第一个按从小到大的升序排列,对于给定的输入数据,保证至少有一个解。
输入输出样例
输入样例#1:
10000
输出样例#1:
18 142
297 328
388 412
1998 2002
分析
可以使用前缀和数组将从1~i的和存在sum[i]中
然后从 j到i的和即为 sum[i]-sum[j-1];
并且由于都是正数那么sum是单调递增的,由此可以进行求解。
如果sum[i]-sum[j]=m 即 j-1 到i 为解
如果>m 说明大了,让j+1
代码如下
program p1147;var m,i,j:longint; sum:array[1..20000000] of int64;begin readln(m); sum[1]:=1; for i:=2 to m-1 do begin sum[i]:=sum[i-1]+i; end; i:=1; j:=1; while i<=m do begin if sum[i]-sum[j]=m then begin writeln(j+1,' ',i); i:=i+1; j:=j+1; end else begin if sum[i]-sum[j]>m then begin j:=j+1; end else begin i:=i+1; end; end; end;end.
在草稿箱里忘了。。。(⊙﹏⊙)b
我不知道风是在哪一个方向吹
————徐志摩
我不知道风
是在哪一个方向吹——
我是在梦中,
在梦的轻波里依洄。
我不知道风
是在哪一个方向吹——
我是在梦中,
她的温存,我的迷醉。
我不知道风
是在哪一个方向吹——
我是在梦中,
甜美是梦里的光辉。
我不知道风
是在哪一个方向吹——
我是在梦中,
她的负心,我的伤悲。
我不知道风
是在哪一个方向吹——
我是在梦中,
在梦的悲哀里心碎!
我不知道风
是在哪一个方向吹——
我是在梦中,
黯淡是梦里的光辉。
注:这首诗写于1928年,初载同年3月10日《新月》月刊第一卷第1号,署名志摩。[1]
- 洛谷1147 连续自然数和
- 洛谷1147 连续自然数和
- 连续自然数和-洛谷 1147
- 洛谷 1147_连续自然数和
- 洛谷P1147 连续自然数和
- 洛谷P1147 连续自然数和
- 洛谷 P1147 连续自然数和
- 洛谷 P1147 连续自然数和
- 洛谷 P1147 连续自然数和
- 洛谷 p1147 连续自然数和
- |洛谷|数学|P1147 连续自然数和
- 洛谷 数学问题专题 连续自然数和
- 洛谷——P1147 连续自然数和
- 【数论】洛谷 P1147 连续自然数和
- 连续自然数和(easy)
- 连续自然数和
- 1312 连续自然数和
- P1147 连续自然数和
- iOS UIGestureRecognizer手势总结
- ios9 应用传输安全:ATS
- POJ - 3009 Curling 2.0(DFS,模拟)
- cocos2d-x-3.8.1 Mac环境配置
- 黑马程序员_java学习笔记 10. IO流
- 洛谷1147 连续自然数和
- Eclipse中10个最有用的快捷键组合
- 容斥定理
- 由浅入深探究mysql索引结构原理、性能分析与优化
- HDU 5438 Ponds(拓扑排序 + DFS)
- 《软工视频之宏观把握》
- 注意:编程中的一个注意事项!!不能以Con命名类
- 进程/线程同步的方式和机制,进程间通信
- 转发与重定向的区别