不知道哪里出错了,求大佬解答一下

P1035 [NOIP2002 普及组] 级数求和

preciousfh @ 2020-03-10 21:45:35

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int k;cin>>k;
    int n=1;
    for(double  i=0;i<=k;n++)
    {
        i+=1.0/n;
    }
    cout<<n;
    return 0;
}

by impuk @ 2020-03-10 21:47:50

@preciousfh cout << n-1就能AC了。


by preciousfh @ 2020-03-10 21:48:40

@一只爬行者 为什么要换成n-1呀?


by ez_lcw @ 2020-03-10 21:50:44

@preciousfh n=1 的时候 i 应该是 1


by critnos @ 2020-03-10 21:50:50

@preciousfh 循环的特性


by preciousfh @ 2020-03-10 21:50:52

@一只爬行者 可以解释一下嘛谢谢啦,一直没想明白


by preciousfh @ 2020-03-10 21:52:19

@ez_lcw 我是把i当成求和算的,一开始的时候不应该是0嘛


by preciousfh @ 2020-03-10 21:53:49

@26535 特性?可是这个代码不对呀


by preciousfh @ 2020-03-10 21:54:45

@preciousfh 我好像懂了一点,谢谢大家!


by impuk @ 2020-03-10 22:00:36

@preciousfh 因为最后一次会多执行一次++n,所以需要把多加的减掉。


by preciousfh @ 2020-03-10 22:08:21

@一只爬行者 懂啦,谢谢大佬!


|