1173: 【函数】【递归】阿克曼(Ackmann)函数
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 128 MB
题目描述
阿克曼(Ackmann)函数A(m,n)中m,n定义域是非负整数(m≤3,n≤10)(m≤3,n≤10),函数值定义为:
⎧ n+1 (m=0时)
akm(m,n)= ⎨ akm(m−1,1) (m>0,n=0时)
⎩ akm(m−1,akm(m,n−1)) (m,n>0时)
输入
输入m和n。
输出
函数值。
样例输入 Copy
2 3
样例输出 Copy
9
来源/分类
函数 递归 入门
代码如下:
#include<bits/stdc++.h>
using namespace std;
#define qfor(n) for(i=0;i<n;i++)
#define qw(tc) while(tc--)
#define pb push_back
int akm(int m,int n){
if(!(m)){
return n+1;
}
if(m&&!(n)){
return akm(m-1,1);
}
if(m&&n){
return akm(m-1,akm(m,n-1));
}
}
int main(){
int m,n;
cin>>m>>n;
cout<<akm(m,n);
return 0;
}