```cpp
#include<stdio.h>
int main() {
int k,n=1;
double s=0;
scanf("%d",&k);
while(s<=k){
s+=1/(n*1.0);
n++;
}
printf("%d",n-1);
return 0;
}
```
@[czh1](/user/952547) 由于你的代码中n为int类型,所以1/n永远为0(把1.0乘到n上就好了),还有,要输出n-1
by yaominghao2007 @ 2023-11-17 21:39:42
第七行建议改为 ```s+=(double)1/(double)n*1.0```
第十行建议改为 ```printf("%d\n",n-1)```
by _d_h_f @ 2023-11-17 21:41:02
@[_d_h_f](/user/1057109) @[yaominghao2007](/user/276894) 谢谢
by czh1 @ 2023-11-19 14:03:47