描述
阿克曼(Ackmann)函数A(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时)
格式
输入格式
输出格式
函数值
样例
输入样例
输出样例
9
限制
时间限制:1000 ms
内存限制:65536 KB
代码
#include<stdio.h>
int akm(int m,int n)
{
if (m == 0)
{
return n + 1;
}
else if (m > 0 && n == 0)
{
return akm(m - 1,1);
}
else
{
return akm(m - 1, akm(m, n - 1));
}
}
int main()
{
int m, n;
scanf("%d%d", &m, &n);
if (m <= 3 && m >= 0 && n <= 10 && n >= 0)
{
int ans;
ans=akm(m, n);
printf("%d\n",ans);
}
return 0;
}
