描述

已知Ackermann函数定义如下:

写出计算Ack(m,n)的递归算法。

输入

多组数据,每组数据有一行,为两个整数m和n。当m和n都等于0时,输入结束。

输出

每组数据输出一行,为Ack(m,n)。

输入样例 1

3 5
3 10
0 0

输出样例 1

253
8189

这个就直接照抄图片上给的算法就行了,我有一个猜测是oj只是检测了算法,没有检测输入输出……因为这段代码在本地VS 2019用题里给的例子测试发现不会输出正确的结果,可能是数太大或者是调用次数过多吧,但是oj会过的。所以放心提交吧~

#include<iostream>
using namespace std;
int Ackermann(int n, int m)
{if (n == 0)return m + 1;else if (n > 0 && m == 0)return Ackermann(n - 1, 1);else if(m>0&&n>0)return Ackermann(n - 1, Ackermann(n, m - 1));
}
int main()
{int n, m;while (cin >> n >> m && n != 0 && m != 0)cout << Ackermann(n, m) << endl;return 0;
}

Ackermann函数的递归求值相关推荐

  1. c++中函数参数的求值顺序

    c++中如果函数的参数列表包含多个实参,那么对参数的求值顺序是不确定的. 在谭浩强的<C++程序设计>(第二版)P94中提到,GCC对参数求值是按从右到左的顺序求值的. 但我实测并非如此. ...

  2. 数字旋转方阵c语言主函数,数据结构——递归求数字旋转方阵

    [数字旋转方阵问题] 问题描述:输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. void FillInNum(int number, int ...

  3. SDUSTOJ 1466 - 编写函数:递归求逆序 (Append Code)

    递归之美 Description 将输入的一个字符串s逆序输出. 编写函数recursive()完成程序: 原型:int recursive(); 功能:用递归的方法读取输入,并且逆序输出. 函数的调 ...

  4. 北京林业大学数据结构实验二 基于栈的算术表达式求值算法

    第1关:基于栈的中缀算术表达式求值 参见课本P75 例3.3 #include <iostream> #include<iomanip>#define MAXSIZE 100 ...

  5. C++核心准则​T.123:使用常量表达式函数在编译时求值

    T.123: Use constexpr functions to compute values at compile time T.123:使用常量表达式函数在编译时求值 Reason(原因) A ...

  6. C语言递归求四个数的最大值:Max函数的递归

    递归算法求四个数的最大值 问题描述:通过函数的递归求四个数的最大值 解题思路:通过多次比较两个数进行比较大小,本质就是冒泡法排序 即: max_4=max_2(num1,max_2(num2,max_ ...

  7. python之路--嵌套函数、匿名函数、高阶函数。函数的递归

    嵌套函数 函数里不仅可以写代码,还可以嵌套函数 name = "小猿圈"def change():name = "小猿圈,自学编程"def change2(): ...

  8. R语言 表达式对象的求值 eval

    R语言 表达式对象的求值 eval 模式为 "expression"的对象在Expression objects 有具体定义.它们和引用对象的列表非常相似. > ex < ...

  9. PA1--实现基础设施、表达式求值和监视点

    PA1实验总结 基础设施 PA1.1基础设施 单步执行 打印寄存器 PA1.2 表达式求值 1. 词法分析(识别token) 2. 递归求值 PA1.3实现监视点 基础设施 在实现基础实施前需要的是进 ...

最新文章

  1. jzoj6001. 【PKUWC2019模拟2019.1.15】Mines (tarjan)
  2. Firefox beta 开始原生支持 Windows 10 ARM64
  3. vb.net 线程偶尔不会自动关闭_C# 多线程系列(7)手动线程通知
  4. 虎符杯——虚拟机逆向
  5. Sum of AP series——AP系列之和
  6. 为什么老板给 ta 升职加薪?
  7. Matplotlib 三维图像 入门
  8. 第2章[2.3] 基于Ext JS的MVC/MVVM架构的应用开发模式
  9. MyBatis基本例子-实现增删改查
  10. Texar安装、Textgenrnn安装
  11. 浅谈Http协议、TCP协议
  12. linux系统上的图形化远程管理,Linux操作系统远程图形化管理的几种途径
  13. mac自带的词典不能用
  14. 参考文献的序号怎么对齐_word序号对齐方式 word中如何让编号自动对齐
  15. Chaos Mesh介绍
  16. 本周最新文献速递20220227
  17. js控制台 console 骚操作-打印图片-自定义样式-字符画
  18. 服务器打不开微信怎么办,手机wifi只能用微信,打不开网页怎么处理?
  19. 无法打开内核设备“\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导? 模块“DevicePowerOn”启动失败。 未能启动虚拟机。
  20. Win10提示无法更新正在撤销安装怎么解决

热门文章

  1. linux系统中自动生成snap文件_在Linux操作系统下自动生成Makefile的方法
  2. excel不显示0_【周一实用技巧】绝密,保护公式不被修改。Excel单元格保护可以输入但不能修改公式,隐藏不显示公式内容...
  3. 兔子问题,斐波纳契数列
  4. 算法总结之 在单链表中删除指定值的节点
  5. 第 4 章(表达式和运算符)(4.1~ 4.7)
  6. 1.12.05 统计单词数
  7. C程序范例(2)——学生管理系统”链表“实现
  8. 【面试题3】二维数组中的查找
  9. 【转】 NSArray copy 问题
  10. 也谈莫言荣获诺贝尔文学奖后我的“低调”