PengPeng2 @ 2024-08-11 11:28:34
#include<bits/stdc++.h>
using namespace std;
int fen(int n){
double ans = 0.0;
for(int i = 1; i <= n;i++){
ans += 1.0 / n;
}
return ans;
}
int main(){
int k,sum = 0;
cin>>k;
for(int i = 1; i > 0;i++){
if(fen(i) > k){
sum = i;
break;
}
}
cout << sum;
return 0;
}
by ___Segment___ @ 2024-08-11 11:41:52
emmmm……其实没必要每次都重新计算一次,若当前结果不够大,那么在下一次循环只要加上对应的那个分数就行了。
by xumingyang666 @ 2024-08-11 22:59:51
其实直接用sum暴力累加就行
by guoyanwei120223 @ 2024-08-13 17:14:48
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k,n,cnt=0;
cin>>k;
for(double sn=0;sn<=k;cnt++,sn+=1.0/cnt);
cout<<cnt;
return 0;
}
求关