有可能出现无解情况,如果有问题,还是要请高手指点~
#include<stdio.h>
int ACK(int n,int x,int y)
{
if (n==0)return (x+1);
if (n==1&&y==0)return (x);
if (n==2&&y==0)return 0;
if (n==3&&y==0)return 1;
if (n>=4&&y==0)return 2;
if (n!=0&&y!=0)
return ACK(n-1,ACK(n,x,y-1),x);
}
int main()
{
int n,x,y;
int result;
scanf("%d%d%d",&n,&x,&y);
result=ACK(n,x,y);
printf("%d\n",result);
return 0;
}