描述

阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m≤3,n≤10),函数值定义为:

  1. akm(m,n) = n+1; (m=0时)
  2. akm(m,n) = akm(m-1,1); (m>0,n=0时)
  3. akm(m,n) = akm(m-1,akm(m, n-1)); m,n>0时)

格式

输入格式

输入m和n。

输出格式

函数值


样例

输入样例

2 3

输出样例

9


限制

时间限制:1000 ms
内存限制:65536 KB


代码

#include<stdio.h>

int akm(int m,int n)
{
    if (m == 0)
    {
        return n + 1;
    }
    else if (m > 0 && n == 0)
    {
        return akm(m - 1,1);
    }
    else
    {
        return akm(m - 1, akm(m, n - 1));
    }


}
int main()
{
    int m, n;
    scanf("%d%d", &m, &n);
    if (m <= 3 && m >= 0 && n <= 10 && n >= 0)
    {
        int ans;
        ans=akm(m, n);
        printf("%d\n",ans);
    }


    return 0;
}