为什么就得了六十?求解。

P1035 [NOIP2002 普及组] 级数求和

10092x @ 2015-10-03 14:25:25

var l:real;k,n:integer;
begin
  readln(k);
  n:=0;
  l:=0;
  repeat
    n:=n+1;
    l:=1/n+l;
  until l>k;
  writeln(n);
end.

by kkksc03 @ 2015-10-03 16:58:13

@[url=/space/show?uid=10256]123456789tl[/url] 你手算一下大概多少才能到15你就知道了你错哪儿了。


by Asiimoviet @ 2015-10-09 13:42:21

出问题了,单步编译找错,或者采用kkksc03的方法


by 胡重阳 @ 2016-01-09 23:06:19

你的n应该是1开始循环吧,正解,你看看吧。

var
Sn:real;
K,n:longint;
begin
 readln(K);
 n:=1;
 Sn:=0;
  repeat
  Sn:=Sn+1/n;
  n:=n+1;
  until Sn>K;
write(n-1);
end.

by 肖圣明 @ 2016-02-01 14:43:43

var n,m,s:real;
k,i:longint;
begin
read(k);
repeat
i:=i+1;
s:=s+1/i;
until s>k;
write(i);
end.

|