为什么输入1的时候输出的是1还对了?!

P1035 [NOIP2002 普及组] 级数求和

EPICETERNITY @ 2020-11-23 21:56:10


 #include<bits/stdc++.h>
 using namespace std;

 int main()
 {
    long k,i,a;
    double s=0;
    cin>>k;
    for( i=1;k>s;i++)
    {
     s=s+(double)1/i;

 a=i;
 }

     cout<<a;

     return 0;
 }

by logwzc @ 2020-11-24 07:05:14

这份代码只会在s=k时答案有问题,事实上在k是正整数时只有s=k=1时会出错,评测数据正好没有k=1的测试点你就对了呗


by EPICETERNITY @ 2020-11-24 15:24:14

@logwzc o 好的 新手上路 感谢指导。


|