描述
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
格式
输入格式
输入 k
输出格式
输出 n
限制
每个测试点1s
来源
noip2002普及组第一题
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int k;
cin>>k;
long n=0;
double sum=0;
while(sum<=k){
n+=1;
sum=sum+1/(double)n;
}
cout<<n;
}
此题有陷阱,看起来非常容易,但是不容易过,多半是因为用了integer,要用longint。