




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汉诺塔问题的算法,(汉诺)塔问题 这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的: 古代有一个梵塔,塔内有3个座A、B、C,开始时座上有个盘子,盘子大小不等,大的在下,小的在上(见图7.11)。有一个老和尚想把这个盘子从座移到座,但每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用座,要求编程序打印出移动的步骤。,此时老和尚只需这样做: (1) 命令第2个和尚将63个盘子从A座移到B座; (2) 自己将1个盘子(最底下的、最大的盘子)从A座移到C座; (3) 再命令第2个和尚将63个盘子从B座移到C座。,老和尚想:假如有另外一个和尚能有办法将63个 盘子从一个座移到另一座。那么,问题就解决了。,第2个和尚怎样才能将63个盘子从A座移到B座?,他是这样做的: (1) 命令第3个和尚将62个盘子从A座移到C座; (2) 自己将1个盘子(最底下的、最大的盘子)从A座移到B座; (3) 再命令第3个和尚将62个盘子从C座移到B座。,第2个和尚想:假如有另外一个和尚能有办法将62个盘子从一个座移到另一座。我就能将63个盘子从A座移到B座。,如此“层层下放”, 直到找到第64个和尚,让他完成将1个盘子从一个座移到另一座,至此问题解决,只有第64个和尚的任务完成后,第63个和尚的任务 才能完成。只有第2到第64个和尚任务完成后,第1 个和尚的任务才能完成。这是一个典型的递归问题,为便于理解:先分析3个盘子从座移到座的过程: (1) 将座上2个盘子先移到座上(借助); (2) 将座上剩下的1个盘子移到座上; (3) 将座上2个盘子移到座上(借助)。,1.1 将上1个盘子从移到; 1.2 将上1个盘子从移到; 1.3 将上1个盘子从移到。,1.1,1.2,1.3,第1步 2个盘子从A移到B 可分解为:,3.1 将上1个盘子从移到上; 3.2 将上1个盘子从移到上; 3.3 将上1个盘子从移到上。,3.1,3.2,3.3,第3步 2个盘子从B移到C 可分解为:,综合起来,可得到移动3个盘子的步骤:,, , ,。 共经历7步。 移动n个盘子要经历2n-1步。,由上面的分析可知:将个盘子从座移到座可以分解为以下3个步骤: (1) 将座上n-1个盘子先移到座上(借助); (2) 将座上剩下的1个盘子移到座上; (3) 将座上n-1个盘子移到座上(借助)。,第步,对应关系是 : one,two,three。 第步,对应关系是: one,two,three。,上面3个步骤可分成两类操作:,程序如下: #include void main() void hanoi(int n,char one,char two,char three); /* 对hanoi函数的声明 */ int m; printf(“input the number of diskes:“); scanf(“%d”, ,void hanoi(int n,char one,char two,char three) /* 定义hanoi函数,将个盘从one座借助two座,移到three座 */ void move(char x,char y); /* 对move函数的声明 */ if(n=1) move(one,three); else hanoi(n-1, one , three , two); move(one,three); hanoi(n-1, two , one , three); void move(char x,char y) /* 定义move函数 */ printf(“%c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 8 Have you read Treasure Island yet Section A (3a-3c) 教学设计 人教版八年级英语上册
- 口腔养生保健知识培训
- 口腔保健知识培训
- 保姆常见知识培训内容课件
- 高二理科会考试卷及答案
- 摇篮曲(勃拉姆斯曲)教学设计-2025-2026学年小学音乐四年级下册人音版(主编:曹理)
- 小九的旋律密码(教学设计)-人教版(简谱)(2024)音乐一年级上册
- 我做校园小导游(教学设计)-五年级下册综合实践活动深圳版
- 保健知识培训课件
- 2025年乡镇政府招聘考试预测题及解析
- (高清版)DB31∕T 1578-2025 微型消防站建设与运行要求
- 儿童百日咳的诊治
- 40篇英语短文搞定高考3500个单词(全部含翻译,重点解析)
- 江苏艺考笔试题及答案
- 2025年中考语文作文中考12大主题作文模板!-分步详解+例文示范
- 餐饮连锁稽核管理制度
- 详细操作说明书及维修指导手册
- 中国精神障碍防治指南课件
- 《中国的经济发展概览》课件
- 高职高考数学复习第五章数列5-2等差数列课件
- 慢性肺源性心脏病的护理(内科护理学第七版)
评论
0/150
提交评论