2011年8月11日 星期四

d356: NOIP2002 1.级数求和

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

輸入說明 :
    键盘输入 k

輸出說明 :
    屏幕输出 n

範例輸入 :
1

範例輸出 :
2

出處 :
NOIP2002普及组第一题 (管理:liouzhou_101)

程式碼 :
#include<stdio.h>

int main()
{
    int n;
    double k,sn;
    
    while(scanf("%lf",&k)==1)
    {
        for(sn=1,n=2; sn <= k; n++)
            sn = sn + (double)1/n;
        printf("%d\n",n-1);
    }
        
    return 0;
}




http://zerojudge.tw/ShowProblem?problemid=d356

沒有留言:

張貼留言