但不要真的用遞迴去解。
由f91(N) = f91(f91(N+11)),
可以發現,當N <= 100時,
會一直做+11的動作,再call f91()做判斷,
直到N = 101,此時輸出91。
所以N < 101就是輸出91,
N >= 101時輸出N - 11。
/* ACM 10696 f91 * mythnc * 2011/10/28 10:17:55 * run time: 0.108 */ #include <stdio.h> int f91(int); int main(void) { int n; while (scanf("%d", &n)) { if (n == 0) return 0; printf("f91(%d) = %d\n", n, f91(n)); } } /* f91: f91 function */ int f91(int n) { if (n > 100) return n - 10; else return 91; }
沒有留言:
張貼留言