已知:S(n)= 1+1/2+1/3+…+1/n,显然对于任意一个整数 k,当 n 足够大的时候,S(n)>k。
现给出一个整数 k,要求计算出一个最小的 n,使得 S(n)>k。
输入格式一个正整数 k。
输出格式一个正整数 n。
输入输出样例输入 #1
1
输出 #1
2说明/提示
【数据范围】
对于 100% 的数据,1≤k≤15。
#includeusing namespace std; const int N = 100010; int main() { int k; cin >> k; double n = 0; int lay = 1; while(n<=k) { n += 1.0/lay++;//此处一定得加1.0而非1 } cout << lay-1; return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)