[NOIP2002 普及组] 级数求和
题目描述
已知:Sn=1+21+31+…+n1。显然对于任意一个整数 k,当 n 足够大的时候,Sn>k。
现给出一个整数 k,要求计算出一个最小的 n,使得 Sn>k。
输入格式
一个正整数 k。
输出格式
一个正整数 n。
样例 #1
样例输入 #1
1
样例输出 #1
2
提示
【数据范围】
对于 100% 的数据,1≤k≤15。
【题目来源】
NOIP 2002 普及组第一题
//#include<bits/stdc++.h>
using namespace std;
int main(){
double n, k = 0, a = 0;//a是用来计算1加到N分之一的和
cin >> k;
for (n = 1; n >= k; n++) {
a= 1 / n + a;//计算1加到N分之一的和
}
n = a;
cout << n;//输出
return 0;
}