Ackerman函数

278 阅读1分钟

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));

    }
}