题目描述
已知:Sn=1+12+13+…+1nS_n= 1+\frac{1}{2}+\frac{1}{3}+…+\frac{1}{n}Sn=1+21+31+…+n1。显然对于任意一个整数 kkk,当 nnn 足够大的时候,Sn>kS_n>kSn>k。
现给出一个整数 kkk,要求计算出一个最小的 nnn,使得 Sn>kS_n>kSn>k。
注意求和时的小数点问题...可能离最简算式差很多..
#include <iostream>
#include <iomanip>
#include <cmath>
#include <stdio.h>
using namespace std;
int main() {
long k, i;
cin >> k;
double s = 0.0;
for (i = 1; s <= k; i++)
s = s + 1.0 / i;
cout << i - 1;
return 0;
}