[python,2018-06-25] 高德纳箭号表示法
概念
高德纳箭号表示法是种用来表示很大的整数的方法,由高德纳于1976年设计。它的意念来自幂是重复的乘法,乘法是重复的加法。
定义

计算
一个箭头

两个箭头
=7625597484987

三个箭头
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] 高德纳箭号表示法的更多相关文章
- python 2018/8/25
# 含多空格字符串的分割 hello = "hello python hello"print(a.split(" ")) # ['hello', 'python ...
- Donald Ervin Knuth:最年轻的图灵奖高德纳
高德纳(Donald Ervin Knuth,1938年),美国著名计算机科学家,斯坦福大学电脑系荣誉教授.高德纳教授被誉为现代计算机科学的鼻祖,在计算机科学及数学领域发表了多部 具广泛影响的论文和著 ...
- python 函数式编程:高阶函数,map/reduce
python 函数式编程:高阶函数,map/reduce #函数式编程 #函数式编程一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数 #(一)高阶函数 f=abs f print ...
- 【2018.06.26NOIP模拟】T3节目parade 【支配树】*
[2018.06.26NOIP模拟]T3节目parade 题目描述 学校一年一度的学生艺术节开始啦!在这次的艺术节上总共有 N 个节目,并且总共也有 N 个舞台供大家表演.其中第 i 个节目的表演时间 ...
- 【2018.06.26NOIP模拟】T2号码bachelor 【数位DP】*
[2018.06.26NOIP模拟]T2号码bachelor 题目描述 Mike 正在在忙碌地发着各种各样的的短信.旁边的同学 Tom 注意到,Mike 发出短信的接收方手机号码似乎都满足着特别的性质 ...
- python内置常用高阶函数(列出了5个常用的)
原文使用的是python2,现修改为python3,全部都实际输出过,可以运行. 引用自:http://www.cnblogs.com/duyaya/p/8562898.html https://bl ...
- python进阶06 常用问题库(2)datetime模块 base64
python进阶06 常用问题库(2)datetime模块 base64 一.datetime模块(时间) 1.datetime.time() t=datetime.time(20,43,30,1) ...
- Python函数06/装饰器
Python函数06/装饰器 目录 Python函数06/装饰器 内容大纲 1.装饰器 1.1 开放封闭原则 1.2 装饰器 2.今日练习 内容大纲 1.装饰器 1.装饰器 1.1 开放封闭原则 扩展 ...
- Python编程无师自通PDF高清完整版免费下载|百度网盘
百度网盘:Python编程无师自通PDF高清完整版免费下载 提取码:cx73 内容介绍 畅销Python编程类入门书,美国亚马逊Kindle编程类排行榜榜一. 作者从文科毕业,通过自学编程转行为专业程 ...
随机推荐
- python中random模块的使用
import random random.random() 产生0-1间的随机小数 >>> res = random.random() >>> print(res) ...
- DashBoard创建各种表(二)
添加范围过滤器 “ 范围过滤器”允许您将过滤应用于其他仪表板项.此项目显示带有选择拇指的图表,允许您过滤掉沿参数轴显示的值. 如图,可以根据选择不同的CategorySales范围显示图表1的内容了. ...
- 技术笔记1:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password)
在myEclipse10中运行java项目的时候,遇到java.sql.SQLException: Access denied for user 'root'@'localhost' (using p ...
- VMware Ubuntu安装过程
一.下载Ubuntu镜像文件 1.到官网下载:http://www.ubuntu.com 2.百度云(16.4.6): 链接:https://pan.baidu.com/s/14IlVP--D5mtZ ...
- uniapp如何将微信小程序API封装为Promise
var SYNC_API_RE = /requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$/; var CALL ...
- PTA——出现次数最多的数
PTA 7-58 求整数序列中出现次数最多的数 #include<stdio.h> #define N 1000 int main() { ,flag; ]; scanf("%d ...
- Gitlab迁移之数据库报错解决
Gitlab迁移需同版本迁移,恢复过程会出现如下提示: WARNING: no privileges were granted for "public" 解决方法: 1. 编辑/ ...
- pl/sql oracle数据库中文数据显示异常或者不能使用中文查询的解决办法
1首先我们需要找到pl/sql developer 目录 然后在该目录下 创建一个bat文件 在文件中定义 set NLS_LANG=AMERICAN_AMERICA.UTF8start PLSQLD ...
- Git与Bitbucket配合使用
1 , 简介 Git : Git是目前世界上最先进的分布式版本控制系统 Bitbucket : BitBucket 是一家代码托管网站 , 类似与GitHub , 不同的是GitHub更专注于开源 , ...
- 关于js中原生构造函数的继承
前言 在如今快节奏的工作当中,很多基础的东西会渐渐地被丢掉.就如继承这个话题,写React的同学应该都是class xxx extends React.Component,然而这可以理解为es5的一个 ...