python_汉塔诺

‘‘‘据说古代有一个梵塔,塔内有三个底座A、B、C,A座上有64个盘子,盘子大小不等,
大的在下,小的在上。有一个和尚想把这64个盘子从A座移到C座,
但每次只能允许移动一个盘子,在移动盘子的过程中可以利用B座,
但任何时刻3个座上的盘子都必须始终保持大盘在下、小盘在上的顺序。
如果只有一个盘子,则不需要利用B座,直接将盘子从A移动到C即可。
和尚想知道这项任务的详细移动步骤和顺序。这实际上是一个非常巨大的工程,
是一个不可能完成的任务。根据数学知识我们可以知道,移动n个盘子需要2^n-1步,
64个盘子需要18446744073709551615步。如果每步需要一秒钟的话,
那么就需要584942417355.072年。‘‘‘

def hannuo(num, src, dst, temp=None):
#声明用来记录移动次数的变量为全局变量
global times
#确认参数类型和范围
assert type(num) == int, ‘num must be integer‘
assert num > 0, ‘num must > 0‘
#只剩最后或只有一个盘子需要移动,这也是函数递归调用的结束条件
if num == 1:
print(‘The {0} Times move:{1}==>{2}‘.format(times, src, dst))
times += 1
else:
#递归调用函数自身,
#先把除最后一个盘子之外的所有盘子移动到临时柱子上
hannuo(num-1, src, temp, dst)
#把最后一个盘子直接移动到目标柱子上
hannuo(1, src, dst)
#把除最后一个盘子之外的其他盘子从临时柱子上移动到目标柱子上
hannuo(num-1, temp, dst, src)
#用来记录移动次数的变量
times = 1
#A表示最初放置盘子的柱子,C是目标柱子,B是临时柱子
hannuo(3, ‘A‘, ‘C‘, ‘B‘)

时间: 2024-12-15 18:07:09

python_汉塔诺的相关文章

《递归》算法设计一

什么是递归? 它有这样的特征,求解规模为N的问题时,设法将它分解成规模较小的问题,然后根据这些小问题方便的构造出大问题的解.当然程序必须有一个出口,当规模为1的时候,能直接的到解. 小结:就是把问题层层分解,直到程序的出口处. 注意事项 1.递归应有终止的时候,也就是每一个递归必须有一个出口,否则会无限递归出去. 2.递归就是调用自身的方法.例如f(n)=n*f(n-1) 裴波纳契数列 先观察下面一组数字有何规律呢 1.1.2.3.5.8.13.21.34-- 如果给你上面这些数字,估计能够很快

递归递归

http://blog.csdn.net/hacker00011000/article/details/51218926 裴波纳契数列 1.1.2.3.5.8.13.21.34-- f1=1.f2=1. f(n)=f(n-1)+f(n-2)(n>2) 求阶乘的递归 int f(int n)   {       if (n==0 || n==1)           return 1;      else           return n*fun(n-1);   } 汉塔诺问题 strlen递

概念仅仅是概念

没有人怀疑,我们正面对一个剧烈动荡的年代. 一切似乎都在改变,一切似乎都没有改变.明天是变还是不变,没有谁能真正掌控.因为未知,所以焦虑.摆脱焦虑的方式有很多,诸如:读书.旅游.运动.抽烟.喝酒.甚至吸毒.还有一种隐性的方式,就是迷恋新概念. 互联网时代最不缺的就是各种新概念:SaaS/PaaS/IaaS.Freemium.随需应变.蓝海.红海.云计算.大数据.企业社交.互联网思维.失控.连接等等.新概念一个接着一个,比娱乐明星的更替还要快.种种新概念,初衷是想简化思路,抓住问题核心,认清变化背

拨打美国国际长途

00(国际冠字)+1(美国区号)+713 休斯顿的 后面就是你要拨出的电话号码 (看了好久才找到.) 我重别的网站给你复制北美的更多城市的电话代码 如果你需要的话 打美国洛杉矶:001213XXXXXXX要在号码前拨00(国际冠字)-1(美国区号)-3位区域号-7位电话号.买IP卡打美国电话比较便宜,2.4元/分钟,IP卡还可以打折,代理商总有推销的. 别的国家拨打中国国内长途: 座机直拨方式:固话直接拨打国际长途号码,如:(00)86 10(区号去0) 8888888(某个北京号码,中国大陆的

10月科学流言榜:“左右脑测试”就是一场游戏x

百盛商场的"房东"济南融新投资表示:"百盛该交的房租和违约金都交了,他们处理完之后我们就把店面收回.污染物排放来源主要有三方面:一是工业:二是交通,包括机动车尾气排放等:三是城市建设带来的污染排放.这份工作挺辛苦,不容易,有时还冒着危险,加班加点是常事,希望市民能看到我们不一样的一面,还有对这座城市做出的点滴努力.翻盘难度太大,斯塔诺将面临执教国安以来最大的考验.这个冬天,晚报冬令营给你一个不一样的寒假.在上海新政之前,北京.深圳已经收紧了调控措施.即便具有防止污染的实质正义

19省公平竞争审查纳入绩效考核 将加强执法监督h

一些挤不进教室的学生,不得不站在窗户外,旁听了3小时.实际情况的确如此,今年多家券商投行拿到了处罚和监管函,将直接影响明年的分类评级结果.有人对此不理解,认为"打麻将"或进歌厅唱歌,应属于私人领域的事情,尤其是在未使用公款的情况下,上级有关方面凭什么管?这个曾经房价暴涨的世外桃源,在中国大部分城市进入冬季后,迎来了销售旺季.经过十余年的住房商品化建设发展,房地产已经成为一个体量巨大的行业,并影响到几十个相关行业.要严格落实党风廉政建设责任制,领导机关和领导干部必须作表率,决不允许任何人

北京居民期望寿命达82.03岁 高于高收入国家水平p

再次回到房间,他抡起锤子砸向妻子头部,熟睡中,妻子"氨了一声.而今年首款C4L STT车型的推出,将是东风雪铁龙新能源时代黄金大幕的赫然开启.经过多年的实践与探索,两市节水型社会建设试点工作取得了显著成效.近日,中国南车获得来自意大利的高铁核心配件转向架订单,这意味着中国高铁核心零配件获得欧洲市场认可.据了解,司机是一位女新手,车买了刚20天,所幸司机并没有受伤.大罗谈及此事:"我一直都坚信,他本来希望为巴西效力.随后,李晓霞的说话"艺术"就充分展现出来了.&quo

农村"三块地"改革试点期限延长释放哪些信号j9

"是不是高龄产妇与生第几胎没有关系,只关乎年龄,在我国,凡是分娩时年龄大于35岁的,就属于高龄产妇.相比之下,鹰潭的交通区位独特优势就不如从前.该站建成后,将实现和体育中心公交站的零换乘,同时辐射体育中心.水滴.奥城商业区.天津体育学院.体院北等区域.如今背后的神秘买家现身,他就是浙江三鹿实业有限公司总经理江新华.市气象台预计,今晚冷空气携小雨前来,明日各地气温继续走低.长相秀气的他,从小就被误认是女生,加上留起长发后,发质柔软让他外表看来更像女生.全省交通工程建设未发生一起重大安全责任事故.到

担心泄密 俄拟禁止军人在社交网络发照片视频f

示,他目前还没有看到任何有说服力的论据可以证明我国城镇房价会普遍迅速回调.新华法新据黎巴嫩当地媒体20日报道,19日发生在贝鲁特南部伊朗大使馆附近的两起爆炸已造成至少25人死亡.150人受伤.面对政府不满意.群众不满意.公安民警自身也不满意的状况,要重塑公安队伍形象,山西公安怎么办?细看发现,在这双手套的大拇指.食指.中指指肚的地方,多了一块黑色材质的布料.老婆婆及家人坚称她是被3个小孩撞倒的,医疗费用应由小孩家长支付,而小孩及家长非常不服气,说做好事反被赖上了3.此授权书剪报.复印或按以上格式