阿克曼(Ackermann)函数—递归
在数学上有一个著名的“阿克曼(Ackermann)函数”,它是二元函数,其定义式为:ACK(M,N),M≥0,N≥0,且:
(1)ACK(M,0)=ACK(M-1,0) (M>0)
(2)ACK(M,N)=ACK(M-1,ACK(M,N-1))(M>0,N>0)
初始条件:ACK(0,N)=1+N (N≥0)
请用递归方法求解ACK(M,N)。注意阿克曼函数递归调用次数增长是非常快的,比如要求ACK(3,7),需要经过将近70万次(693964次)递归调用。所以本题采用递归方法求解只能求解M和N很小的值。
代码:
#include<stdio.h>
int ACK(int m,int n)
{
if(m==0&&n>=0)
return 1+n;
else if(n==0&&m>0)
return ACK(m-1,0);
else if(m>0&&n>0)
return ACK(m-1,ACK(m,n-1));
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",ACK(m,n));
getchar();
getchar();
}
阿克曼(Ackermann)函数—递归相关推荐
- Ackermann函数(阿克曼函数)的递归、非递归(手动栈模拟)
目录 一.Ackermann函数 二.C++实现 1. 递归实现 2. 栈模拟递归 一.Ackermann函数 Ack(m,n)={n+1m=0Ack(m−1,1)m>0,n=0Ack(m−1, ...
- Ackermann函数的递归求值
描述 已知Ackermann函数定义如下: 写出计算Ack(m,n)的递归算法. 输入 多组数据,每组数据有一行,为两个整数m和n.当m和n都等于0时,输入结束. 输出 每组数据输出一行,为Ack(m ...
- 信息学奥赛一本通(1163:阿克曼(Ackmann)函数)
1163:阿克曼(Ackmann)函数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12999 通过数: 10994 [题目描述] 阿克曼(Ackman ...
- 阿克曼(Ackmann)函数(信息学奥赛一本通-T1163)
[题目描述] 阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m≤3,n≤10),函数值定义为: akm(m,n) = n+1; (m=0时) akm(m,n) = ...
- 【1163】阿克曼(Ackmann)函数
[问题描述] 阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m<=3,n<=10),函数值定义为: akm(m,n) = n ...
- 18937 阿克曼(Ackmann)函数
18937 阿克曼(Ackmann)函数 题干 18937 阿克曼(Ackmann)函数 时间限制:1000MS 代码长度限制:10KB 提交次数:0 通过次数:0 题型: 编程题 语言: G++;G ...
- Python day10 global关键字、函数递归、匿名函数、map函数的用法详解
1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...
- php 回调递归,PHP数组函数 array_walk_recursive (使用回调函数递归遍历数组元素)
在PHP中,数组函数 array_walk_recursive () 使用回调函数递归遍历数组元素. 函数语法:array_walk_recursive ( array &$array , c ...
- JS 函数 函数递归
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 重要:函数也是对象,你可以给它们添加属性或者更改它们的属性. 函数内部对象:arguments 解析:函数实际 ...
最新文章
- 基于EEG/EMG/EOG的多模态人机接口,实时控制软机器人手
- 第五届蓝桥杯 c/c++ B组6
- FTP虚拟账户的创建(1)
- 凡客即便走小米模式也很难
- ML之Clustering之普聚类算法:普聚类算法的相关论文、主要思路、关键步骤、代码实现等相关配图之详细攻略
- 安阳职业技术学院计算机录取分数线,安阳职业技术学院录取分数线2021是多少分(附历年录取分数线)...
- 前端vue的get和post请求
- GJM:用C#实现网络爬虫(一) [转载]
- [转载] Python中的set(集合)数据类型
- 计算机的科学导论pdf,教材计算机科学导论.PDF
- 数据库无限层级分类设计
- MATLAB公式希腊字母表
- 2022年南京医院三基考试耳鼻咽喉科学精选题及答案
- 李南江html5教程资源合集,哇爪跟着李南江学习HTML5—HTML学习
- FPGA和USB3.0通信-UVC摄像机
- maven-replacer-plugin的使用
- Android Init Language : init.rc
- div html用法详解,div标签详解
- Ubuntu14.04系统安装Latex及配置中文字体
- 探索学习:网红容器引擎Docker
热门文章
- python 中range(10)什么意思_请问在Python中for i in range(10,0,-1)是什么意思
- 3D打印技术发展前景令人欣喜,对人类未来发展有哪些影响?
- 【cvpr2022-论文笔记】《Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation》
- LeetCode-强盗团伙
- 大数据行业应用之Hive数据分析航班线路相关的各项指标
- Java 基本 语法变量与运算符
- 【乐理学习笔记】如何读乐谱
- web前端-css中最直观的反馈-伪类及伪元素选择器的使用
- 严蔚敏《数据结构(C语言版)》第三章 纯C实现
- 爬取http://www.doutula.com网站表情包