题目描述
从1到N中,求出所有连续的自然数的和为M。
样例输入
10000
样例输出
18 142
297 328
388 412
1998 2002
思路
因为必须有两个数以上,所以从1到n div 2,如果累加的只超过m就退出。
var
i,j,l,m:longint;
k:int64;
begin
readln(m);
l:=m div 2;
for i:=1 to l do
begin
k:=i;
for j:=i+1 to l+1 do
begin
k:=k+j;
if k>m then break
else
if k=m then
writeln(i,' ',j);
end;
end;
end.