Ackerman函数采用双递归算法实现,结构简单,但也体现了递归的思想,即自己调用自己。 以下为Java实现
import java.util.Scanner;
public class Ackerman {
public static int Ackermane(int n , int m ){
if(n==1&&m==0) return 2;
else if(n==0&&m>=0) return 1;
else if (n>=2&&m==0) return n+2;
else return Ackermane(Ackermane(n-1,m),m-1);
}
public static void main(String[] args){
Scanner a = new Scanner(System.in);
int m = a.nextInt();
Scanner b = new Scanner(System.in);
int n = b.nextInt();
System.out.print("Ackerman函数为:"+Ackermane(m,n));
}
}