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),而不是加不同的数值所以不用