算法分析之Ackerman函数的递归实现算法

Ackerman函数的递归实现算法。

输入:输入两个数字,先输入n,后输入m。

输出:Ackerman函数计算后的值。

示例:输入:4    2,输出:16

package suanfafenxi;
import java.util.Scanner;

public class Ackerman {
    static  int ack(int n,int m){
    	if(m==0&&n==1) return 2;	
    	if(m>=0&&n==0)return 1;	
    	if(m==0&&n>=2)return n+2;
    	return ack(ack(n-1,m),m-1);
    }
	public static void main(String[] args) {
       Scanner s=new Scanner(System.in);
       int a=s.nextInt();
       int b=s.nextInt();
       System.out.print(ack(a,b));
	}
}

你可能感兴趣的:(JAVA程序设计)