级数求和
描述:
已知:
S
n
=
1
+
1
2
+
1
3
+
…
+
1
n
S_n=1+\frac12+\frac13+…+\frac1n
Sn=1+21+31+…+n1。显然对于任意一个整数
k
k
k,当
n
n
n 足够大的时候,
S
n
>
k
S_n>k
Sn>k。
现给出一个整数 k k k,要求计算出一个最小的 n n n,使得 S n > k S_n>k Sn>k。
输入:
一个正整数
k
k
k,题目保证
1
≤
k
≤
15
1≤k≤15
1≤k≤15。
输出:
一个正整数
n
n
n,表示满足
S
n
>
k
S_n>k
Sn>k的最小
n
n
n值。
样例输入:
1
样例输出:
2
C++代码实现
#include<iostream>
using namespace std;
int main(){
int k;
cin>>k;
int n=0;
double s=0; //float精度不够
while(s<=k){
n++;
s+=1.00/n;
}
cout<<n;
}