题目描述
已知:𝑆𝑛=1+12+13+…+1𝑛Sn=1+21+31+…+n1。显然对于任意一个整数 𝑘k,当 𝑛n 足够大的时候,𝑆𝑛>𝑘Sn>k。
现给出一个整数 𝑘k,要求计算出一个最小的 𝑛n,使得 𝑆𝑛>𝑘Sn>k。
输入格式
一个正整数 𝑘k。
输出格式
一个正整数 𝑛n。
输入输出样例
输入 #1复制
1
输出 #1复制
2
说明/提示
【数据范围】
对于 100%100% 的数据,1≤𝑘≤151≤k≤15。
【题目来源】
NOIP 2002 普及组第一题
代码:
#include<iostream>
using namespace std;
int main() {
int n = 0, k; cin >> k;
double num = 0;
while (num <= k) {
n++;
num += (double)1 / n;
}
cout << n << endl;
return 0;
}