美文网首页
【MAC 上学习 C++】Day 52-5. 实验10-6 递归

【MAC 上学习 C++】Day 52-5. 实验10-6 递归

作者: RaRasa | 来源:发表于2019-10-15 21:31 被阅读0次

实验10-6 递归计算Ackermenn函数 (15 分)

1. 题目摘自

https://pintia.cn/problem-sets/13/problems/578

2. 题目内容

本题要求实现Ackermenn函数的计算,其函数定义如下:


26.png
输入样例:

2 3

输出样例:

9

函数接口定义:

int Ack( int m, int n );

其中mn是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型范围内。

3. 源码参考
#include <iostream>

using namespace std;

int Ack( int m, int n );

int main()
{
    int m, n;

    cin >> m >> n;
    cout << Ack(m, n) << endl;

    return 0;
}

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

相关文章

网友评论

      本文标题:【MAC 上学习 C++】Day 52-5. 实验10-6 递归

      本文链接:https://www.haomeiwen.com/subject/hhwxmctx.html