#include<cstdio>
#include<iostream>
using namespace std;
int di(int m, int n)
{
if(n == 0)
return di(m-1, 1);
else if(m == 0)
return n+1;
else
return di(m-1, di(m, n-1));
}
int main()
{
int n, m, sum;
cin >> m >> n;
if(m>3) printf("fause, please input another number");
if(m == 3 && n >24) printf("fause, please input another number");
else{
sum = di(m, n);
printf("%d\n", sum);
}
return 0;
}
使用公式Ack(m,n)=Ack(m-1,Ack(m,n-1)),依次递归计算,递归结束条件n=0时,Ack(m,n)=Ack(m-1,1);m=0时,Ack(m,n)=n+1
最新推荐文章于 2023-11-23 13:12:47 发布