但不要真的用遞迴去解。
由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;
}
沒有留言:
張貼留言