本題要求實現Ackermenn函數的計算,其函數定義如下:
函數接口定義:
int Ack( int m, int n );
其中m
和n
是用戶傳入的非負整數。函數Ack
返回Ackermenn函數的相應值。題目保證輸入輸出都在長整型
范圍內。
裁判測試程序樣例:
#include <stdio.h>
int Ack( int m, int n );
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("%d\n", Ack(m, n));
return 0;
}
/* 你的代碼將被嵌在這里 */
輸入樣例:
2 3
輸出樣例:
9
int Ack( int m, int n ) { if(m==0) return n+1; else { if(n==0) return Ack(m-1,1); else return Ack(m-1,Ack(m,n-1)); } }
int Ack( int m, int n ) { if(m==0) return n+1; else if(n==0&&m>0) return Ack(m-1,1); else if(m>0&&n>0) return Ack(m-1,Ack(m,n-1)); }