【问题描述】编写一个递归函数,计算并返回阿克马(Ackermann)函数值。阿克马函数的定义见课本P164。
【输入形式】n x y。其中n,x,y均为无符号整数
【输出形式】阿克马函数值。
【样例输入】1 5 0
【样例输出】5
【样例输入】0 6 9
【样例输出】7
#include<stdio.h>
int Ack(int n,int x,int y)
{
int f;
if(n==0)
f=x+1;
else if(n==1&&y==0)
f=x;
else if(n==2&&y==0)
f=0;
else if(n==3&&y==0)
f=1;
else if(n>=4&&y==0)
f=2;
else f=Ack(n-1,Ack(n,x,y-1),x);
return f;
}
int main()
{
int n,x,y,t;
scanf("%d%d%d",&n,&x,&y);
t=Ack(n,x,y);
printf("%d",t);
return 0;
}