求Ackerman函数的非递归解法
AKM(m,n)=n+1 当m=0,n>=0时
AKM(m-1,1) 当m>0,n=0时
AKM(m-1,AKM(m,n-1)) 当m>0,n>0时
递归解法很简单,但怎么改非递归呢
for( int i = 0 ; i < m ; i++ ) { for( int j = 0 ; j < n ; j ++ ) { if( i == 0 && j >= 0 ) { akm[i][j] = j + 1 ; } else if( i > 0 && j == 0 ) { akm[i][j] = akm[i-1][1] ; } else if( i > 0 && j > 0 ) { akm [i][j] =akm[i][j-1] ; } } }