首页 > 代码库 > NOIP2002 1.级数求和

NOIP2002 1.级数求和

这题目......

题目:已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。

思路:

首先,挺简单的。

用一个i控制1,2,3,4......

总的是一个循环{

每次用1/i,和k比较,一旦大于就跳出,并且输出;

}

代码is here:

 1 #include <iostream>
 2 using namespace std;
 3 int main(){
 4     int k;
 5     while(cin>>k){
 6         double b=0;
 7         double i=0;
 8         while(1){
 9             i++;
10             b=b+(1/i);
11             if(b>k){
12                 cout<<i<<endl;
13                 break;
14             }
15         }
16     }
17     return 0;
18 }

 

NOIP2002 1.级数求和