题目描述

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

输入描述:

输入k

输出描述:

输出n

示例1

输入
1
输出
2

解答

思路:循环到爆,每次加上一个分数,再判断Sn是否大于K,大于输出,否则继续循环。
代码如下:
#include <stdio.h>      
 int main()      
 {      
      int a;   
     double b=0;     
     float i;  
      scanf("%d",&a);      
     for(i=1;i<=1000000;i++)      
    {  
         b=b+1/i;//每次加上一个分数       
          if(b>a)//满足了   
       {  
         printf("%.0lf\n",i);    
        return 0;  
         }      
    }      
    return 0;  
  }

来源:Memoryヾノ战心