求解,一运行就挂掉了,哪里错了呀?

P1035 [NOIP2002 普及组] 级数求和

丶骨鱼 @ 2018-12-11 14:40:07

#include<iostream>
using namespace std;
int main(){
    int k;
    cin>>k;
    double s=0;
    int n=0;
    for(int i=0;s<=k;i++){
        s=s+1/i;
        n=i;
    }
    cout<<n;
    return 0;
}

by Adove @ 2018-12-11 14:43:01

@丶骨鱼 i作除数不能从0开始循环


by 丶骨鱼 @ 2018-12-11 14:44:36

ummmm...改掉了,还是不出来结果呀


by 丶骨鱼 @ 2018-12-11 14:46:58

我知道了,好像是精度的问题,我把初始的s改为了0.0000,把1/i改为了0.1/i,然后对了。。。


by 我右边有点呆 @ 2018-12-11 14:49:09

不要N,直接输出S看一下。


by 星小雨 @ 2018-12-11 15:27:51

@丶骨鱼 s不用改,1要改成1.0


by 丶骨鱼 @ 2018-12-11 15:35:56

@星小雨 soga,谢谢啦


by 李之恒 @ 2019-07-12 18:55:48

可以直接用While做循环


|