哪里错了?

P1035 [NOIP2002 普及组] 级数求和

wh_duyuhao @ 2024-11-27 19:28:46

#include<iostream>
using namespace std;
int main(){
    int k;
    cin>>k;
    int n=0,i=0;
    double ans=0;
    while(1){
        ans+=1.0/i;
        n++;
        if(ans>k) break;
        i++;
    }
    cout<<n;
    return 0;
}

????????????????????????


by zixue @ 2024-11-28 21:34:27

@wh_duyuhao你可以尝试吧i=0改成i=1,因为分母不能为零,而且ans的第一项是1,我自己试了一下,改成i=1,就是对的了


by zjhzjhzjhzjhzjh @ 2024-12-01 12:03:27

~~全服最简题解c++,新手一眼就会 ~~

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

上一页 |