阿克曼函数akm
package xinghuo;
//阿克曼 (Ackmann)(Ackmann) 函数 A(m,n)A(m,n) 中,m,nm,n 定义域
//是非负整数 (m≤3,n≤10),函数值定义为:
//akm(m,n)=n+1 ( m=0 时 )。
//akm(m,n)=akm(m-1,1) (m>0,n=0 时 )。
//akm(m,n)=akm(m-1,akm(m,n-1) ;(m,n>0 时 )。
import java.util.Scanner;
public class Main3 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int a1[]=new int[2];
for(int i=0;i<2;i++) {a1[i]=scan.nextInt();}
System.out.println(akm(a1[0],a1[1]));
}
public static int akm(int m,int n) {
if(m==0) {
return n+1;
}else if(m>0&&n==0) {
return akm(m-1,1);
}else if(n>0) {
return(akm(m-1,akm(m,n-1)));
}
return n+1;
}
}
还是Java的基础不牢固,感觉有点问题,有的都忘记了,还是要复习。