种子 @ 2015-02-08 13:59:49
var
02. k,n,a:integer;
03. sn:real;
04.begin
05. read(k);
06. a:=1;
07. n:=1;
08. if (k>15) or (k<1) then write('error') else
09. while sn<=k do
10. begin
11. sn:=sn+a/n;
12. n:=n+1;
13. end;
14. n:=n-1;
15. write(n);
16.end.
by lin_toto @ 2015-02-08 16:35:53
integer @[url=/space/show?uid=2047]种子[/url]
by 种子 @ 2015-02-09 13:24:12
@[url=/space/show?uid=256]lin_toto[/url] ?
by 种子 @ 2015-02-09 13:25:02
@[url=/space/show?uid=256]lin_toto[/url] 是要改成longint?
by 永忻 @ 2015-02-09 14:32:02
23333333333333333333333333333333333333
by kkksc03 @ 2015-02-09 17:00:24
@[url=/space/show?uid=2047]种子[/url] 你用integer,到了32767后变为-32768,然后再一直到-1,然后变为0,1/0的话看他报错不报错。
by 种子 @ 2015-02-09 22:49:55
@[url=/space/show?uid=1]kkksc03[/url] 咳咳,你们两个挖坟的。。。一楼已经解决所有。。。
by zhuyanyu @ 2015-05-28 21:02:18
var
n,i:longint;
x:real;
begin
readln(n);
i:=0;
x:=0;
repeat
inc(i);
x:=x+1/i;
until x>n;
writeln(i);
end.
简单!