Ackermann函数的递归求值
描述
已知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函数的递归求值相关推荐
- c++中函数参数的求值顺序
c++中如果函数的参数列表包含多个实参,那么对参数的求值顺序是不确定的. 在谭浩强的<C++程序设计>(第二版)P94中提到,GCC对参数求值是按从右到左的顺序求值的. 但我实测并非如此. ...
- 数字旋转方阵c语言主函数,数据结构——递归求数字旋转方阵
[数字旋转方阵问题] 问题描述:输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. void FillInNum(int number, int ...
- SDUSTOJ 1466 - 编写函数:递归求逆序 (Append Code)
递归之美 Description 将输入的一个字符串s逆序输出. 编写函数recursive()完成程序: 原型:int recursive(); 功能:用递归的方法读取输入,并且逆序输出. 函数的调 ...
- 北京林业大学数据结构实验二 基于栈的算术表达式求值算法
第1关:基于栈的中缀算术表达式求值 参见课本P75 例3.3 #include <iostream> #include<iomanip>#define MAXSIZE 100 ...
- C++核心准则T.123:使用常量表达式函数在编译时求值
T.123: Use constexpr functions to compute values at compile time T.123:使用常量表达式函数在编译时求值 Reason(原因) A ...
- C语言递归求四个数的最大值:Max函数的递归
递归算法求四个数的最大值 问题描述:通过函数的递归求四个数的最大值 解题思路:通过多次比较两个数进行比较大小,本质就是冒泡法排序 即: max_4=max_2(num1,max_2(num2,max_ ...
- python之路--嵌套函数、匿名函数、高阶函数。函数的递归
嵌套函数 函数里不仅可以写代码,还可以嵌套函数 name = "小猿圈"def change():name = "小猿圈,自学编程"def change2(): ...
- R语言 表达式对象的求值 eval
R语言 表达式对象的求值 eval 模式为 "expression"的对象在Expression objects 有具体定义.它们和引用对象的列表非常相似. > ex < ...
- PA1--实现基础设施、表达式求值和监视点
PA1实验总结 基础设施 PA1.1基础设施 单步执行 打印寄存器 PA1.2 表达式求值 1. 词法分析(识别token) 2. 递归求值 PA1.3实现监视点 基础设施 在实现基础实施前需要的是进 ...
最新文章
- jzoj6001. 【PKUWC2019模拟2019.1.15】Mines (tarjan)
- Firefox beta 开始原生支持 Windows 10 ARM64
- vb.net 线程偶尔不会自动关闭_C# 多线程系列(7)手动线程通知
- 虎符杯——虚拟机逆向
- Sum of AP series——AP系列之和
- 为什么老板给 ta 升职加薪?
- Matplotlib 三维图像 入门
- 第2章[2.3] 基于Ext JS的MVC/MVVM架构的应用开发模式
- MyBatis基本例子-实现增删改查
- Texar安装、Textgenrnn安装
- 浅谈Http协议、TCP协议
- linux系统上的图形化远程管理,Linux操作系统远程图形化管理的几种途径
- mac自带的词典不能用
- 参考文献的序号怎么对齐_word序号对齐方式 word中如何让编号自动对齐
- Chaos Mesh介绍
- 本周最新文献速递20220227
- js控制台 console 骚操作-打印图片-自定义样式-字符画
- 服务器打不开微信怎么办,手机wifi只能用微信,打不开网页怎么处理?
- 无法打开内核设备“\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导? 模块“DevicePowerOn”启动失败。 未能启动虚拟机。
- Win10提示无法更新正在撤销安装怎么解决
热门文章
- linux系统中自动生成snap文件_在Linux操作系统下自动生成Makefile的方法
- excel不显示0_【周一实用技巧】绝密,保护公式不被修改。Excel单元格保护可以输入但不能修改公式,隐藏不显示公式内容...
- 兔子问题,斐波纳契数列
- 算法总结之 在单链表中删除指定值的节点
- 第 4 章(表达式和运算符)(4.1~ 4.7)
- 1.12.05 统计单词数
- C程序范例(2)——学生管理系统”链表“实现
- 【面试题3】二维数组中的查找
- 【转】 NSArray copy 问题
- 也谈莫言荣获诺贝尔文学奖后我的“低调”