轻院1073 级数求和

Description

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

Input

键盘输入 k

Output

屏幕输出 n

Sample Input

1

Sample Output

2

题意概括:求级数的和大于某个数,此时级数是多少级

错误原因:一次过,无错。

经验总结:整数除以整数还是整数,所以要得到小数,就要用小数参与运算

我的AC代码:

#include<stdio.h>
int main(void)
{
 int k, i;
 double sn;
 scanf("%d", &k);
 for(i = 1;;i ++)
 {
  sn += 1.0/i;
  if(sn > k)
  {
   break;
  }
 }
 printf("%d\n", i);
 
 return 0;
}
posted @ 2017-10-13 19:42  moonlight987  阅读(130)  评论(0编辑  收藏  举报