




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、n阶Hanoi塔问题塔问题解题思路汇报专业:计算机科学与技术班级:A班学号:017姓名:孙志佳题目介绍题目介绍1 分析问题复杂性及举例说明分析问题复杂性及举例说明2程序代码程序代码3一、题目介绍: 假设有三个命名为XY Z的塔座 ,在塔座X上插有n个直径大小不相同,由小到大编号为1 ,2 ,3 , ,n的圆盘,要求将X座上的圆盘移至塔座C并按同样的顺序叠排。圆盘移动必须遵守下列规则: 1:每次只能移动一个圆盘 2:圆盘可以插在任意一个塔座上 3:任何时刻都不能将一个较大的圆盘放在一个较小的圆盘上二、分析问题分析问题复杂性及举例说明:及举例说明:分析:分析:若有n个盘子,則移动完所需之次数为2n
2、 - 1,所以当盘数为64时,则所需次数为: 264 - 1 = 18446744073709551615 为5.05390248594782e+16年,也就是约5000世纪,如果对这数字没什么概念,就假设每秒钟搬一个盘子好了,也要约5850亿年左右。举例说明:举例说明:以三阶Hanoi塔为例,我们所需要的7个步骤是:1Z2Y1Y3Z1X2Z1Z则对于n阶Hanoi塔: n = 1时只需将编号为1的圆盘从X座移至Z座 n 1时,我们分三个阶段: 1:将X塔座上的n-1个圆盘按照规定移至到Y塔座 2:将编号为n的圆盘由X座移至Z座 3:利用X塔座,将Y塔座上的n-1个圆盘按规定移至到Z塔座xyz
3、图例三、程序代码:#include void hanoi(int i , char X , char Y , char Z);void move(int i , char x , char y);int main()int n ;printf(请输入n的值:);scanf(%d,&n); hanoi(n , X , Y , Z); return 0 ; void hanoi(int i , char X , char Y , char Z) if(i = 1)move(i ,X, Z);else hanoi(i - 1 , X , Z , Y); /函数递归调用 move(i , X , Z);hanoi(i - 1 , Y , X , Z); void move(int i , char x , char y) static int c = 1 ; /局部变量i申明为 static
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025商业店铺租赁合同协议
- 2025年标准借款合同范本「官方版」
- 2025年度整体厨房家具战略采购合同
- 营销培训微信公众平台推广破万技巧
- 未来合同担保趋势:市场分析
- 2025加盟合同模板:餐饮连锁店加盟协议
- 2025年石家庄地区设备安装合同
- 模电助教版第4章负反馈应用基础1
- 现代班组长安全管理培训3
- 金属非金属矿山智能化技术与建设路径
- 大车司机劳务协议书
- 中医把脉入门培训课件
- 学生军训教官合同协议
- 期刊编辑的学术期刊内容审核标准考核试卷
- 知识产权监管培训课件
- 油田节能降耗技术-全面剖析
- 广西钦州市钦州港经济技术开发区中学2025年初三第二学期第一次区模拟化学试题含解析
- 妇科护理标准化管理
- 小学2025年国防教育课程开发计划
- 防溺水家长测试题及答案
- 兰州2025年中国农业科学院兰州畜牧与兽药研究所招聘16人笔试历年参考题库附带答案详解
评论
0/150
提交评论