思路1(68分,测3,测5TLE) :
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
int k,i;
cin >> k;
for(i=1;;i++)
{
double sum=0;//要在这里初始化
for(int j=1;j<=i;j++)
{
double s=1*1.0/j;
sum+=s;
}
if(sum>k)//如果sum超过了k
{
break;//break跳出循环
}
}
cout<<i;//输出i
return 0;
}
思路2(AC):
枚举n从1开始,直到Sn>k结束,只需要一个循环
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int k;
cin >> k;
int i=1;
for(double s=0;s<=k;i++)
{
s+=1.0/i;
}
cout<<i-1;//要-1
return 0;
}
这篇水博客就到这里啦,我们下篇见!