原题:已知Akerman函数的定义如下:
{ m+1 n=0
Akm(n,m)= { akm(n-1,1) n>0,m=0
{akm(n-1,akm(n,m-1)) m>0,n>0
(1)写出递归算法; (2)写出非递归算法。
(1)用递归算法实现
#include<iostream.h>
int main()
{
long Akm(int m,int n);//函数原型声明
int m,n;long result;
cout<<"请输入m,n的值:"<<endl;
cin>>m>>n;
result=Akm(m,n);//调用Akm函数
cout<<"Akm("<<m<<','<<n<<')'<<"的结果为:"<<result<<endl<<endl;
return 1;
}
long Akm(int m,int n)
{//Akerman函数的递归算法
if(m&