全WA,感谢大佬相助

P1035 [NOIP2002 普及组] 级数求和

abababwosb @ 2024-06-08 21:56:51

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

main() {
    int k, n=0;
    cin >> k;

    for (double he = 0; he <= k; n++) {
        he += 1.0 / n;
    }

    cout << n;
    return 0;
}

by fengzhenxiu @ 2024-06-08 22:02:00

因为你的循环控制是he<=k,因此你的和最终会小于等于k,也就是说,你的n会刚好少1。


by WEICY123 @ 2024-06-08 22:05:45

#include<bits/stdc++.h>
using namespace std;
int main(){
    double k,ansn,a=0,n=1;
    cin>>k;
    while(k>=a){
        a+=1/n;
        n++;
        ansn++;
    }
    cout<<ansn;
}

@abababwosb 我不会改代码,所以献上我的AC代码


by abababwosb @ 2024-06-08 22:51:49

感谢大佬们!!!


by abababwosb @ 2024-06-08 22:54:04

已AC


by YWJ20140130 @ 2024-06-18 21:54:20

@WEICY123 ansn不初始化吗???


by WEICY123 @ 2024-06-19 20:02:50

@YWJ20140130 不用,因为这个只是++(+=1),而不是加不同的数值所以不用


|