已知: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
沒有留言:
張貼留言