Pascal问题!高手进!急!

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:19:05
题目:描述 Description
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
输入格式 Input Format
输入 k
输出格式 Output Format
输出 n
我的程序:program jishu;
var i,k,n:integer;
t,he:real;
begin
read(k);
n:=1;
t:=1;
while he<=k do
begin
he:=he+t;
n:=n+1;
t:=1/n;
i:=i+1;
end;
write(i);
end.
拿了60分,看看我哪里错了啊!!!!!!!!

我用c语言算了一下,不存在超时现象,但是i的数字超过integer能承受的范围了。你改成longint看看。
还有一种可能是精度问题。。。

1. 整型范围不够,需要用到长整型(longint)
2. 对于15会严重超时,所以建议交表。