T___Y @ 2022-07-31 13:47:34
#include<stdio.h>
int main()
{
int k,n=1;
double s=0.0;
scanf("%d",&k);
while(s<k)
{
s=s+1.0/n;
n++;
}
printf("%d\n",n);
return 0;
}
by Tobiichi_Origami @ 2022-07-31 13:52:29
@T___Y k需要强制转换
by cqazy811 @ 2022-07-31 13:57:09
@T___Y 初始值 n=0
,n++
放在 s=s+1.0/n
之前;按照你这样的话当到答案的时候 n 还会再加一就会导致答案比原来的大 1
by _wjr_ @ 2022-07-31 13:58:04
还有,原题给的是 > ,所以while里要写
by _wjr_ @ 2022-07-31 13:58:53
当然这题数据不够强,写 < 也是对的
by T___Y @ 2022-07-31 14:23:10
@bxnya_miana 噢对哦谢谢
by T___Y @ 2022-07-31 14:23:33
@Death_wjr 谢谢