【正确答案】正确答案:int Ack(int m,n) {if(m==0)return(n+1); else if(m!=0&&n==0)return(Ack(m-1,1)); else return(Ack(m-1,Ack(m,m一1)); }//算法结束 Ack(2,1)的计算过程: Ack(2,1)=Ack(1,Ack(2,0)) //因m<>0,n<>0而得 =Ack(1,Ack(1,1)) //因m<>0,n=0而得 =Ack(1,Ack(0,Ack(1,0))) //因m<>0,n<>0而得 =Ack(1,Ack(0,Ack(0,1))) //因m<>0,n=0而得 =Ack(1,Ack(0,2)) //因m=0而得 =Ack(1,3) //因m=0而得 =Ack(0,Ack(1,2)) //因m<>0,n<>0而得 =Ack(0,Ack(0,Ack(1,1))) //因m<>0,n<>0而得 =Ack(0,Ack(0,Ack(0,Ack(1,0)))) //因m<>0,n<>0而得 =Ack(0,Ack(0,Ack(0,Ack(0,1)))) //因m<>0,n=0而得 =Ack(0,Ack(0,Ack(0,2))) //因m=0而得 =Ack(0,Ack(0,3)) //因m=0而得 =Ack(0,4) //因n=0而得 =5 //因n=0而得 int Ackerman(int m,int n) {int akm[M][N];int I,j; for(j=0;j
【答案解析】