概念

高德纳箭号表示法是种用来表示很大的整数的方法,由高德纳于1976年设计。它的意念来自是重复的乘法,乘法是重复的加法。

定义

计算

一个箭头

2↑3=2×2×2=8
2↑4=2×2×2×2=16
3↑3=3×3×3=27
a↑b= 
 

两个箭头

2↑↑3=2↑2↑2(注意:此处要从右往左计算)=2↑4=16
3↑↑3=3↑3↑3=3↑27=  =7625597484987
4↑↑3=4↑4↑4=4↑256≈ 
a↑↑b=
 

三个箭头

2↑↑↑3=2↑↑2↑↑2=2↑↑2↑2=2↑↑4=2↑2↑2↑2=2↑2↑4=2↑16=65536
3↑↑↑3=3↑↑3↑↑3=3↑↑7625597484987=3^3^3^3……(7625597484987个3)

a↑↑↑b=

PS:以上内容来自百度百科:https://baike.baidu.com/item/%E9%AB%98%E5%BE%B7%E7%BA%B3%E7%AE%AD%E5%8F%B7%E8%A1%A8%E7%A4%BA%E6%B3%95/6327240

下面是关于高德纳箭号表示法的python代码

#Author:shijt
#一个箭号时计算方法
def g(n,m):
product=n**m
return product
#二个箭号时计算方法
def g2(m,n):
result=g(m,m)
for i in range(1,n-1):
print("g2",i,result)
result=g(m,result)
return result
# x个箭号时计算方法,未验证
def gx(m,x,n):
if(x>2):
result=gx(m,x-1,m)
for i in range(1,n-1):
print("gx=",x, i, result)
#递归
result = gx(m,x-1, result)
return result
elif(x==2):
return g2(m,n)
elif (x == 1):
return g(m,n)
else:
return "error" print(gx(3,3,3))

代码执行后,电脑已经快卡死了,所以我也不知道gx这个方法是否正确,至于秒天秒地的葛立恒数,暂时没有办法表示出来。

以上

[python,2018-06-25] 高德纳箭号表示法的更多相关文章

  1. python 2018/8/25

    # 含多空格字符串的分割 hello = "hello python hello"print(a.split(" ")) # ['hello', 'python ...

  2. Donald Ervin Knuth:最年轻的图灵奖高德纳

    高德纳(Donald Ervin Knuth,1938年),美国著名计算机科学家,斯坦福大学电脑系荣誉教授.高德纳教授被誉为现代计算机科学的鼻祖,在计算机科学及数学领域发表了多部 具广泛影响的论文和著 ...

  3. python 函数式编程:高阶函数,map/reduce

    python 函数式编程:高阶函数,map/reduce #函数式编程 #函数式编程一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数 #(一)高阶函数 f=abs f print ...

  4. 【2018.06.26NOIP模拟】T3节目parade 【支配树】*

    [2018.06.26NOIP模拟]T3节目parade 题目描述 学校一年一度的学生艺术节开始啦!在这次的艺术节上总共有 N 个节目,并且总共也有 N 个舞台供大家表演.其中第 i 个节目的表演时间 ...

  5. 【2018.06.26NOIP模拟】T2号码bachelor 【数位DP】*

    [2018.06.26NOIP模拟]T2号码bachelor 题目描述 Mike 正在在忙碌地发着各种各样的的短信.旁边的同学 Tom 注意到,Mike 发出短信的接收方手机号码似乎都满足着特别的性质 ...

  6. python内置常用高阶函数(列出了5个常用的)

    原文使用的是python2,现修改为python3,全部都实际输出过,可以运行. 引用自:http://www.cnblogs.com/duyaya/p/8562898.html https://bl ...

  7. python进阶06 常用问题库(2)datetime模块 base64

    python进阶06 常用问题库(2)datetime模块 base64 一.datetime模块(时间) 1.datetime.time() t=datetime.time(20,43,30,1) ...

  8. Python函数06/装饰器

    Python函数06/装饰器 目录 Python函数06/装饰器 内容大纲 1.装饰器 1.1 开放封闭原则 1.2 装饰器 2.今日练习 内容大纲 1.装饰器 1.装饰器 1.1 开放封闭原则 扩展 ...

  9. Python编程无师自通PDF高清完整版免费下载|百度网盘

    百度网盘:Python编程无师自通PDF高清完整版免费下载 提取码:cx73 内容介绍 畅销Python编程类入门书,美国亚马逊Kindle编程类排行榜榜一. 作者从文科毕业,通过自学编程转行为专业程 ...

随机推荐

  1. mysql数据库 事务和索引

    1.MySQL数据库特性:  原子性(atomidity) 一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一 ...

  2. centos 7 中安装 mysql 5.7

    centos 7 中安装 mysql 5.7 环境说明: 查看centos的版本:cat /etc/redhat-release 安装和配置步骤: 下载 mysql 源安装包: sudo curl - ...

  3. myEclipse出现cannot paste the clipboard contents into the selected elements报错

    导入jar包报错,cannot paste the clipboard contents into the selected elements,查阅资料让重新打开工程,但依然报错. 最后在本地路径复制 ...

  4. nginx uwsgi django 配置

    用django框架,uwsgi服务器作为动态服务器,nginx作为静态资源服务器 配置uWSGI,在项目目录下创建uwsgi.ini文件: [uwsgi] #使用nginx连接时使用 socket=1 ...

  5. 洛古 P2568 莫比乌斯+暴力

    #include<bits/stdc++.h> #define LL long long using namespace std; ; bool vis[maxn]; int prime[ ...

  6. Linux之prink原理

    我的分析是基于Linux4.15.1 1.看看kernel是如何调用到console初始化函数的: 分两条线: a.start_kernel  -->  console_init   --> ...

  7. WebView 判断放大缩小操作

    using Android.App; using Android.Widget; using Android.OS; using Android.Content; using Android.Runt ...

  8. 如何实现从Java入门到服务端项目开发的进阶?

    对于打算入门或者刚刚入门学习Java的人来说,刚开始接触这门学科,往往会觉得不知所措,也会觉得很迷茫.结合前人经验,就从入门到进阶对于Java的学习而言,应该对于学习时间.目标和内容规划有一个清晰的定 ...

  9. 命令生成所有数据库表模型以及 CRUD

    将下列代码写到文件复制到项目 console\controller 目录下: <?php namespace console\controllers; use Yii; use yii\cons ...

  10. C#集合类型大揭秘 【转载】

    [地址]https://www.cnblogs.com/songwenjie/p/9185790.html 集合是.NET FCL(Framework Class Library)的重要组成部分,我们 ...