#include<bits/stdc++.h>
using namespace std;
int akm(int m,int n){
if(m==0){
return n+1;
}
else if(m>0&&n==0){
return akm(m-1,1);
}
else{
akm(m-1,akm(m,n-1));
}
}
int main(){
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",akm(m,n));
return 0;
}
题目描述
阿克曼 (Ackmann) 函数 akm(m,n) 中,m,n 定义域是非负整数 (m≤3,n≤10),函数值定义为:
akm(m,n)=n+1;(m=0 时 )。
akm(m,n)=akm(m−1,1);(m>0,n=0 时 )。
akm(m,n)=akm(m−1,akm(m,n−1));(m,n>0 时 )。
输入格式
m 和 n。
输出格式
函数值。
样例 #1
样例输入 #1
2 3
样例输出 #1
9