Ackerman函数
维基百科:阿克曼函数
阿克曼函数
阿克曼函数是非原始递归函数的例子;它需要两个自然数作为输入值,输出一个自然数。它的输出值增长速度非常高,仅是(4,3)的输出已大得不能准确计算。
1920年代后期,数学家大卫·希尔伯特的学生Gabriel Sudan和威廉·阿克曼,当时正研究计算的基础。Sudan发明了一个递归却非原始递归的Sudan函数。1928年,阿克曼又独立想出了另一个递归却非原始递归的函数。他最初的念头是一个三个变量的函数A(m,n,p),使用康威链式箭号表示法是m→n→p。阿克曼证明了它是递归函数。希尔伯特在On the Infinite猜想这个函数不是原始递归。阿克曼在On Hilbert’s Construction of the Real Numbers证明了这点。后来Rozsa Peter和Raphael Robinson定义了一个类似的函数,但只用两个变量。
定义:
{ n+1; m=0,n>0 A(m,n) = { A(m-1,1); n=0,m>0 { A(m-1,A(m,n-1)) n>0,m>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));}
}
Ackerman函数相关推荐
- Ackerman 函数-奇怪的函数
Ackerman函数 Ackerman函数定义如下: A(1, 0) = 2 A(0, m) = 1 m >= 0 A(n, 0) = ...
- Ackerman 函数的解法
Ackerman 函数的解法 1.定义 ack(m,n) = n+1 m = 0 ack(m,n) = ack(m-1,1) m!=0 ...
- Ackerman函数 非递归 java_Ackerman(nm)函数的非递归算法.doc
Ackerman(nm)函数的非递归算法 题目:已知Ackerman函数的定义如下: A(1,0)=2n=1,m=0 Ackerman= A(0,m)=1 n=0,m>=0 A(n,0)=n+2 ...
- c语言编写计算ackerman函数的递归函数ack(n,x,y),第六章函数与宏定义实验报告二...
C程序设计实验报告 实验项目: 6.4.2.2. 利用复化梯形公式计算定积分 6.4.2.3. 计算Ackerman函数 6.4.3.1. 编写计算x的y次幂的递归函数getpower(int x,i ...
- 汗,Ackerman函数......
数据结构书的习题中看到的,Ackerman函数,它需要两个自然数作为输入值,输出一个自然数.它的输出值增长速度非常高,仅是对于(4,3)的输出已大得不能准确计算.而其反函数的增速奇慢. 环境:Vim ...
- 3. ackerman函数的递归实现算法用java语言_ackerman递归
定义: n+1 n=0 A(m,n)={A(m-1,1) m=0 A(m-1,A(m,n-1)) n>0,m>0 #include #include using namesp ...
- Ackerman函数 非递归 java_Ackerman函数的非递归实现.
在网上看到了一些人在找这个Ackerman函数 , 不知道这个函数的实际含义,首先看到了他的递归形式: 注释部分是分析后的结果. int rackerman(int m,int n) { if(m== ...
- 递归 Ackerman函数
当一个函数以及它的一个变量由函数自身定义时,称这个函数为双递归函数---Ackerman函数. Ackerman函数A(n,m)有两个独立的变量m≥0和n≥0,其定义如下: A(1,0)=2 A(0, ...
- 3. ackerman函数的递归实现算法用java语言_ackerman函数递归算法
5-2 已知 Ackerman 函 5-1 已知 A[n]为整数数组,试写出实现下列运算的递归算法: (1) 求数组 A 中的最大整数. (2) 求 n 个整数的和. (3) 求 n...... 2 ...
- Ackerman函数(C语言)
Ackerman函数递归实现(C语言) 此函数在此不做详细介绍.下面直接上代码. 输入样例: 4 3 输出样例: 65536 源代码 #include<stdio.h> int Acker ...
最新文章
- [sharepoint]根据用户名获取该用户的权限
- 超级详细AST抽象语法树Javascript
- 计算机体系结构----常见英文缩写(待更....)
- [蓝桥杯] 蚂蚁感冒
- C++11新特性之泛型编程与模板
- 安兔兔2019年1月安卓手机排行榜发布:小米无愧性价比之王
- Python中的偏函数和函数柯里化
- Golang的简明安装指南
- 配置ArcGIS Server使用Windows AD Windows集成身份认证
- yagmail发送邮件
- 强制选择“你是不是喜欢我” python实现
- 软件功能测试点---总结大全
- 临床医师看过来:5个理由告诉你,为什么JMP软件更适合你?
- 自动伽马校正(Auto Gamma Correction)算法
- java-日期操作总结
- 通信恩仇,5G江湖(转)
- 一包辣条如何逆袭,从屌丝品牌成为有逼格的产品?
- 为什么使用非线性激活函数?常见的非线性激活函数及优缺点对比
- 一文带你了解 Flink Forward 柏林站全部重点内容
- 学习MonoRail MVC
热门文章
- C# 名称空间的别名
- ACPC2015 K 树的直径
- 弱加密算法有哪几种_常见的几种加密方法
- WPS之Excel表格如何设置下拉选项
- 华为wifi信号如何连接到服务器,如何解决华为路由器搜到信号却无法连接
- 开源LLM领域变天!LLaMa惊天泄露引爆ChatGPT平替狂潮
- CSS3 实现可爱的动物动态的哈士奇动画
- PS(简单操作) 单张图片制作九宫格/证件照排版
- 未能解析主引用“Fiddler”,因为它是针对“.NETFramework,Version=v4.6.1”框架生成的。该框架版本高于当前目标框架“.NETFramework,Version=v4.5
- 微信之旅——微信公众号