對乙個給定的自然數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
題解:按題目要求求就行了,然後逐一記錄。
**:var n,p,s,i:longint;
begin
readln(n);
for i:=1 to n div 2+1 do
begin
s:=0;
p:=i;
repeat
s:=s+p;
inc(p);
if s=n then
begin
writeln(i,' ',p-1);
break;
end;
until s>n-p;
end;
end.
洛谷1147 連續自然數和
對乙個給定的自然數m,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為m。例子 1998 1999 2000 2001 2002 10000,所以從1998到2002的乙個自然數段為m 10000的乙個解。輸入輸出格式 輸入格式 包含乙個整數的單獨一行給出m的值 10 m 2,000,0...
洛谷P1147 連續自然數和
連續自然數和 題目描述 對乙個給定的自然數m,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為m m 2000000 例子 1998 1999 2000 2001 2002 10000,所以從1998到2002的乙個自然數段為m 10000的乙個解。分析可以把連續自然數段看成乙個等差數列...
洛谷 P1147 連續自然數和
對乙個給定的自然數m,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為m。例子 1998 1999 2000 2001 2002 10000,所以從1998到2002的乙個自然數段為m 10000的乙個解。包含乙個整數的單獨一行給出m的值 10 m 2,000,000 每行兩個自然數,給...