

Luogu有6个测试点,只有最后一个测试点正确了,还麻烦大家帮我看一下哪里有问题,麻烦了谢谢
将第10行for循环的循环条件修改下,然后再将打印i的值那里修改下即可。
修改如下:
#include <stdio.h>
int main(void){
int k=0;
scanf("%d",&k);
int i=1;
double count=0.0;
// 下面的for循环的循环条件改为count<=k,因为题目要计算Sn>k的最小的n
// 此循环当count>k时,会停止循环,最后一次循环时,i的的值为所求
for(i=1;count<=k;i++){
count=count+1.0/i;
//printf("i=%d,count=%f\n",i,count);
//
// if(i%20==0){
// getchar();
// }
}
// printf("最后,i=%d, count=%f\n",i,count);
printf("%d",--i); // 减去最后一次循环i自增的1
return 0;
}
