管管代码,救救孩子

P1035 [NOIP2002 普及组] 级数求和

velatraingun @ 2021-09-29 21:28:23

#include<iostream>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    long double s=0;
    int k;
    cin >> k;
    for(int i=1;i<=100;i++){
        s=s+(1/i);
        if(s>k) {
            cout<<i;
            break;
            }
        }
    return 0;
}

如上所示,我实在没看懂我的代码到底在哪出了问题但是它就是不输出东西,来个大佬救救孩子吧


by dxy2020 @ 2021-09-29 21:30:33

s=s+(1./i);

是这吗


by velatraingun @ 2021-09-29 21:33:32

@小小蒟蒻一只 谢谢谢谢,这是什么原理啊?


by Skaditxdy @ 2021-09-29 21:36:21

1是int,i也是int,整除->(1/i)=0
把1改成1.0或者写(double)(1/i)


|