描述:
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
http://noi.openjudge.cn/ch0105/27/
解题思路:
- int一个K,N。N初始化为0。
- double一个累加器,初始化为0。
- 如果sum<=K:
n++; sum=sum+1.0/n;
- 输出N
程序:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k,n=0;
cin>>k;
double sum=0;
while(sum<=k)
{
n++;
sum=sum+1.0/n;
}
cout<<n;
return 0;
}