大佬们,这哪里出了问题?

P1035 [NOIP2002 普及组] 级数求和

ypc1632037246 @ 2022-07-15 12:07:33

#include<stdio.h>
int  main()
{
    int n,k;
    double s,a;
    s = 0;
    scanf("%d", &k);
    for (n = 1; s <=k; n++)
    {
        a =1+s+1/n;
        s = a;
    }
        printf("%d", n);
    return 0;
}

by 乐乐乐还在乐 @ 2022-07-15 12:18:18

第一:a = 1+s+1/n;1/n,是 int 类型的,可以改为 1.0/n

然后,为什么要加一啊?

应该是:a = s+1.0/n;

最后:写成 s+=1.0/n; 它不香吗?


|