求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时
递归解法很简单,但怎么改非递归呢
2009-09-27 08:13
2009-09-27 10:43
程序代码:
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] ;
}
}
}

2009-09-27 11:26
2009-09-27 12:32