- 6
- 0
- 约3.44万字
- 约 44页
- 2017-10-27 发布于江苏
- 举报
C和C中你必须知道的23种算法_04939
1.汉诺塔(递归算法)
说明
河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家Edouard Lucas曾提及这个故事,据说创世纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将毁损,而也就是世界末日来临之时。
解法如果柱子标为ABC,要由A搬至C,在只有一个盘子时,就将它直接搬至C,当有两个盘
子,就将B当作辅助柱。如果盘数超过2个,将第三个以下的盘子遮起来,就很简单了,每次处理两个盘子,也就是:A-B、A -C、B-C这三个步骤,而被遮住的部份,其实就是进入程式的递回处理。事实上,若有n个盘子,则移动完毕所需之次数为2^n - 1,所以当盘数为64时,则所需次数为:264- 1 = 18446744073709551615为5.05390248594782e+16年,也就是约5000世纪,如果对这数字没什幺概念,就假设每秒钟搬一个盘子好了,也要约5850亿年左右。
#include stdio.h
void hanoi(int n
您可能关注的文档
- 7章 垄断竞争市场与寡头垄断市场中价格产量决定_04366.ppt
- 7房地产市场策划--市场分析_04339.ppt
- 7种常见股票底部形态(图解)_04368.doc
- 7第七章 社会行政的监督与评估_04331.doc
- 7第七章 城市规模分布_04332.ppt
- 2016-2021年润滑设备市场前景预测及投资规划分析报告(.doc
- 7第四章金融市场j_04335.ppt
- 2016-2021年润滑液市场前景预测及投资规划分析报告(.doc
- 2016-2021年润肠茶市场前景预测及投资规划分析报告(.doc
- 7肢体经络系_04367.doc
- 新疆塔城地区第一高级中学2025-2026学年高一下学期学情自测物理试卷(含解析).docx
- 苏教版五年级上册数学 期中检测卷.doc
- 新疆维吾尔自治区昌吉回族自治州呼图壁县2025-2026学年九年级上学期1月期末英语试题(含解析).docx
- 新疆维吾尔自治区和田地区和田市2025-2026学年上学期八年级英语期末试卷(含解析).docx
- 四川省绵阳市游仙区2025-2026学年七年级上学期1月期末英语试题(含解析).docx
- 苏教版三年级上册数学 第三单元测试题.doc
- 四川省绵阳市梓潼县2025-2026学年八年级上学期1月期末物理试题(含解析).docx
- 四川省绵阳市盐亭县四校联考2025-2026学年八年级下学期物理学情自测(含解析).docx
- 房颤患者太极拳练习.pptx
- 苏教版五年级上册数学 期末检测卷.doc
原创力文档

文档评论(0)