这种做法的思路是枚举n从1开始,直到Sn>=Sn>k结束,只需要一个循环即可实现。
#include<bits/stdc++.h>
int main(){
int k,n=0;
scanf("%d",&k);
for(double Sn=0;Sn<=k;++n,Sn+=1.0/n);
printf("%d",n);
return 0;
}
我没用using namespace std;因为scanf("%d",&k);和printf("%d",n);代替了cin,cout。
谢谢!求点赞!!