题目描述
已知:S_n= 1+1/2+1/3+…+1/nSn=1+1/2+1/3+…+1/n。显然对于任意一个整数 kk,当 nn 足够大的时候,S_n>kSn>k。
现给出一个整数 kk,要求计算出一个最小的 nn,使得 S_n>kSn>k。
输入格式
一个正整数 kk。
输出格式
一个正整数 nn。
输入输出样例
输入 #1复制
1
输出 #1复制
2
说明/提示
【数据范围】
对于 100\%100% 的数据,1\le k \le 151≤k≤15。
【题目来源】
NOIP 2002 普及组第一题
#include <stdio.h>
int main()
{
int k;
scanf ("%d",&k);
double sn=0.0;
int n=0;
do {
n++;
sn=sn+1.0/n;
} while (sn<=k);
printf ("%d",n);
return 0;
}