McCarthy是一個有名的資訊專家。他定義了一個遞迴的函數叫做 f91 。它輸入一個正整數N並且依據以下的規則傳回一個正整數:
. 如果 N <= 100, 那麼 f91(N) = f91( f91( N+11) )
. 如果 N >= 101, 那麼 f91(N) = N-10
請你寫一個程式來計算 f91
輸入說明 :
每組測試資料一列。含有1個正整數 N( N <= 1000000)。輸入最多有250000組測試資料。 若 N=0 代表輸入結束。
輸出說明 :
對每組測試資料輸出一列 f91(N),。輸出格式請參考Sample Output。
範例輸入 :
500 91 0
範例輸出 :
f91(500) = 490 f91(91) = 91
/**********************************************************************************//* Problem: c002 "f91" from ACM 10696 *//* Language: C *//* Result: AC (22ms, 352KB) on ZeroJudge *//* Author: diiuuli520 at 2008-07-17 21:45:44 *//**********************************************************************************/ #include<stdio.h>#include<stdlib.h> int k(int a) { int i; if(a>100) return a-10; else i=k(k(a+11)); return i; }int main(void){ int a,b,c; scanf("%d",&a); while(a!=0){ b=k(a); printf("f91(%d) = %d\n",a,b); scanf("%d",&a); } }
沒有留言:
張貼留言