C++:
#include <iostream>
using namespace std;
long Ackermann(int m,int n);
int main()
{
int loop,i,m,n;
cin>>loop;
for(i=1;i<=loop;i++)
{
cin>>m>>n;
cout<< Ackermann(m,n)<<endl;
}
return 0;
}
long Ackermann(int m,int n)
{
if(m==0)
return n+1;
else if(m>0 && n==0)
{
return Ackermann(m-1,1);
}
else if(m>0 && n>0)
{
return Ackermann((m-1),Ackermann(m,n-1));
}
}
scheme:
(define (A x y)
( cond ((= y 0) 0)
((= x 0) (* 2 y))
((= y 1) 2)
(else (A (- x 1)
(A x (-y 1)))))

本文提供了一个使用C++实现Ackermann函数的例子,并附带了Scheme语言版本的定义。通过递归的方式展现了Ackermann函数的计算过程,适用于理解高级递归调用场景。
2308

被折叠的 条评论
为什么被折叠?



