#include <stdio.h>
int Ack(int m,int n)
{
int f;
if(m==0){
f=n+1;}
else if(n==0&&m>0){
f=Ack(m-1,1);}
else if(m>0&&n>0)
{ f=Ack(m-1,Ack(m,n-1)); }
return f;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d",Ack(m,n));
return 0;
}
这个代码哪里出问题了,输入3 5,输出没有反应,貌似崩溃了。
题目题目描述:
编写一个递归函数Ack求Ack(m,n)的值。
Ack(m,n)=n+1 ,m=0
Ack(m,n)=Ack(m-1,1),n=0且m>0
Ack(m,n)=Ack(m-1,Ack(m,n-1)),m>0且n>0
在main 函数中,
输入
两个正整数m(m≥0)和n(n≥0),调用递归函数Ack,
输出
函数Ack(m,n)的值。
输入格式:
在一行中输入两个正整数m(m≥0)和n(n≥0),整数之间用空格隔开
输出格式:
在一行中输一个整数,即Ack(m,n)的值。