云学算法之Ackerman阿克曼函数的python实现
好久没更新啦,主要去过寒假了,☁️太贪玩了!还好一开学就回到了学习状态,继续之前的Steven Skiena CSE373 3/27
今天学到一个函数 α(n),简称反Ackermann函数,定义为最大的整数m使Ackermann(m,m)≤x。
就先去了解了一下 Ackerman阿克曼函数,定义如下:
当m≥4,Ackermann函数的增长快得惊人:Ackermann(4,0)=13,Ackermann(4,1)=65533,Ackermann(4,2)=2^65536-3有19729位,(摘自百度百科)而Ackermann(4,3)得到的数就很大很大了。真神奇呀~
如果要手算函数值就要递归很多步,但是因为定义简单,之前学的python就派上用场了,我试着自己写了一下:
def ackerman(m,n):if m == 0:return n + 1elif m > 0 and n == 0:return ackerman(m-1,1)elif m > 0 and n > 0:return ackerman(m-1,ackerman(m,n-1))else:return "null"
m=int(input('m:'))
n=int(input('n:'))
print(ackerman(m,n))
算出来的一些结果如下:
m:2
n:3
9m:1
n:1
3m:2
n:2
7
当然,我的python承受不住太多次的迭代,值就不输大了。
云学算法之Ackerman阿克曼函数的python实现相关推荐
- Ackerman(阿克曼)函数C语言递归实现
这段时间老师在课提到递归算法的一些应用,我对其中的Ackerman函数比较感兴趣,并尝试探索了一番. Ackerman函数A(n,m)定义如下(可能跟网上的一些定义有出入): 根据定义,我 ...
- 算法:阿克曼函数(C++)
算法原理 阿克曼函数定义: { 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 #inc ...
- 点云综述一稿 点云硬件、点云软件、点云处理算法、点云应用以及点云的挑战与展望
经过一周的综述撰写,深感点云算法应用之浩瀚,只能仰仗前辈们的文章作一些整理: 点云硬件: 点云获取技术可分为接触式扫描仪.激光雷达.结构光.三角测距(Triangulation).以及立体视觉等多种. ...
- 零起点学算法24——求正弦和余弦
零起点学算法24--求正弦和余弦 Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lld Description 输入一个正整数n ...
- 深度优先搜索_0基础学算法 搜索篇第一讲 深度优先搜索
0基础学算法 搜索篇第一讲 深度优先搜索 相信绝大多数人对于深度优先搜索和广度优先搜索是不会特别陌生的,如果我这样说似乎你没听说过,那如果我说dfs和bfs呢?先不说是否学习过它们,至少它们的大名应该 ...
- 点云关键算法详解及实战剖析正式开讲!(涉及分割、配准、关键点、识别、重建等)...
01 背景介绍 计算机视觉的最终体现是三维视觉,而三维视觉的表达方式则是点云,点云处理在整个三维视觉领域占有非常重要的地位,几乎涉及到所有相关领域,例如自动驾驶感知定位.SLAM.三维场景重建.AR/ ...
- 【视频课】深度学习入门必修,子欲学算法,必先搞数据!
前言 欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下: 第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用. 第2层 ...
- 《趣题学算法》—第0章0.3节算法的伪代码描述
本节书摘来自异步社区<趣题学算法>一书中的第0章0.3节算法的伪代码描述,作者徐子珊,更多章节内容可以访问云栖社区"异步社区"公众号查看. 0.3 算法的伪代码描述 上 ...
- 动画学信奥 漫画学算法 CSP-J入门级 (一)、计算机基础与编程环境(依据「NOI大纲」)
信息学奥赛到底考什么?NOI大纲文字收藏版 信息学奥赛到底考什么?NOI大纲文字收藏版_A-别针少儿编程的博客-CSDN博客 NOI大纲 CSP初赛篇·知识大纲 CSP-入门级-NOI大纲 NOI大纲 ...
- 序列复杂度怎么看_《趣学算法》作者又一力作上架,再分享您一篇算法复杂度...
不知道读者们有没有看过陈小玉的<趣学算法>这本书,该书在出版后受到广大读者一致好评,在一年内重印了10次,并输出了繁体版的版权.不知道读过这本书的朋友们感觉第一本怎么样?欢迎留言给我们.接 ...
最新文章
- 【python教程入门学习】Python实现自动玩贪吃蛇程序
- mysql server_id作用_在MySQL中设置`server-id`变量不起作用
- 【白话设计模式八】命令模式(Command)
- BZOJ.2707.[SDOI2012]走迷宫(期望 Tarjan 高斯消元)
- jsp判断字符串相等_leetcode 86 扰乱字符串(c++)
- 抽象类的实际应用--模版设计
- 计算机控制学什么,计算机控制技术专业介绍
- .netcore 整合 log4net
- 计算机与数字媒体专业概论
- 2014/4/4做题感悟
- java 字符串截取_java截取字符串,截串,substring和split,分割字母和数字,正则缝隙...
- mysql的with rollup
- 批量下载网页上ts视频文件(撸sir!你还在为下载小电影而苦恼吗?)
- Maya 2011, GUI with Qt
- Sending build context to Docker daemon 解决办法
- Mac连接不上无线网络的解决方法
- android 判断是否是数字,是否在数字范围内,是否是字母,下一个字母,小写转大写,大写转小写;
- STM32前言知识总结
- 为什么机器学习之路没有捷径可走
- 窗函数概念知识点统计