【题目描述】
已知:Sn=1+1/2+1/3+…+1/n。显然对于任意一个数K,当n足够大的时候,Sn大于K。 现给出一个整数K(1≤K≤15),要求计算出一个最小的n,使得Sn>K。
【输入】
一行,一个整数K。
【输出】
一行,一个整数n。
【输入样例】
1
【输出样例】
2
算法解析
用while循环,条件为a<=k,枚举1/n。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n=0,k;
double a=0;
cin>>k;
while(a<=k)
{
n++;
a+=1.0/n;
}
cout<<n;
return 0;
}