早教吧 育儿知识 作业答案 考试题库 百科 知识分享

PASCAL题5、描述Description对一个给定的自然数M,求出所有的连续的自然数段(连续个数大于1),这些连续的自然数段中的全部数之和为M。例子:1998+1999+2000+2001+2002=10000,所以从1998到

题目详情
PASCAL题
5、描述 Description
对一个给定的自然数M,求出所有的连续的自然数段(连续个数大于1),这些连续的自然数段中的全部数之和为M。
例子:1998+1999+2000+2001+2002 = 10000,所以从1998到2002的一个自然数段为M=10000的一个解。
输入格式 Input Format
包含一个整数的单独一行给出M的值(10
▼优质解答
答案和解析
Jsoi 2004-2005 连云港 夏令营 A 组 第一天试题 1. If and only if M=2*2*2*2*...,there is no answer. 假设: A+(A+1)+(A+2)+......+(A+k)=M, 则 : (2A+k)(k+1)=2M 可以确定 K的范围(A最小=1时k方可最大):maxk(maxk+1)/20)
then print. 再做不出来我也没办法了。
program ss;
var m:longint;
procedure init;
begin
writeln;
write('Input M = ');readln(m);
end;
procedure search;
var t,n:longint;
k:longint;
begin
t:=m div 5;
for n:=1 to t do
for k:=1 to m div n do
if k*(n+(k-1)/2)=m then writeln(n,' ',n+k-1);
end;
BEGIN
init;
search;
END.