输出结果总是负值,而且输出速度特别慢,我找不出代码的问题,求大神指点。

P1035 [NOIP2002 普及组] 级数求和

孤独的鹿 @ 2020-02-08 19:46:14


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

------------

by Sya_Resory @ 2020-02-08 19:48:10

@孤独的鹿 while(s>=k)你是认真的吗。。。


by ud2_ @ 2020-02-08 19:53:34

@孤独的鹿

s >= k 改成 s <= k。因为要在不符合 s > k 时循环,不断增加 s


by 孤独的鹿 @ 2020-02-08 20:11:22

@Sky_Dreamer 哦哦哦,理解错了


by 孤独的鹿 @ 2020-02-08 20:11:39

@sjx233_ 感谢指明,感谢感谢


|