所以。。为什么零分

P1035 [NOIP2002 普及组] 级数求和

管理b员 @ 2017-04-07 14:36:17

#include<cstdio>
#include<iostream>
using namespace std;
int k,n;
double sn=0.000000000;
int main()
{
    cin>>k;
    for(n=1;sn<k;n++)
    {
        sn+=1.000000000/n;
    }
    cout<<n;
    return 0;
}

by Ciel_bleu @ 2017-04-07 16:14:24

第一,for循环的条件应该是小于等于,然后第二,你要知道for循环是先判断条件,执行命令,最后才是n++,也就是你的n多加了一次,改掉这两处就好了。


|