1 / 16
文档名称:

趣味汉诺塔,递归用起来.pptx

格式:pptx   大小:623KB   页数:16页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

趣味汉诺塔,递归用起来.pptx

上传人:1656403**** 2021/9/26 文件大小:623 KB

下载得到文件列表

趣味汉诺塔,递归用起来.pptx

文档介绍

文档介绍:汉诺塔问题
教师:天津市南开中学滨海生态城学校 邓彩红
中国地图出版社 选修1 算法与程序设计
第三单元第三节 樊塔问题
找一找三幅图片有什么相同的地方?
图片调用规模由小到大的自身
火眼金睛
生活中有没有这样的实例呢?
任务1
小试牛刀
请一位同学挑战移动三个盘子
a柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,
现在把所有圆盘一个一个移动到柱子c上,可以借助 b 柱,
但是每次移动同一根柱子上只能出现小盘子在大盘子上方
a
b
c
任务2
请两位同学挑战移动四个盘子
任务3
请获胜同学挑战移动五个盘子
有什么简单的方法可以完成任务呢?
有什么简单的方法可以完成把4个圆盘从A柱移到C柱的任务呢?
① 先请A同学将前三个圆盘从A柱移到B柱。
② 我将第四个圆盘从A柱移到C柱。
③ 再请A同学将前三个圆盘从B柱移到C柱。
我不需要知道如何移动三个圆盘,只需要完成最简单的移动一个圆盘即可。
古老传说
相传在印度婆罗门神庙内的有一块黄铜板上插着三根钻石棒,印度的主神梵天在创造世界的时候,在其中一根钻石棒上按从大到小的顺序放了64枚纯金的圆盘。
一个叫婆罗门的僧人,不分日夜地将64枚金盘移到另一根钻石棒上,移动的过程中一次只能移动一个金盘,且大盘不能放在小盘上。神说等到婆罗门完成这项工作,世界将在一声霹雳中毁灭……
计算机如何解密传说?
1 分析问题
传说解密
2 画流程图
3 编写代码
4 检测结果
待选区
绘图区
#编写程序要求:
#根据每条语句的解释,将语句中的下划线“_”替换为正确的语句代码
def move(n,A,B,C): # 定义move(n,A,B,C)函数:将n个圆盘从A柱借助B柱移到C柱
if ==1: #判断A柱上是否只有一个圆盘
print("移动一个圆盘从",A,"到",C)
else:
move(n-1,A,C,B) #将A柱前(n-1)个圆盘借助C柱移到B柱
move(1, , , ) #将A柱最底下的1个圆盘借助B柱移到C柱
move( , , , ) #将B柱上的(n-1)个圆盘借助A柱移到C柱
move( , , , ) #调用move(n,A,B,C)函数,将4个圆盘从a柱借助b柱移到c柱
n
A
B
C
n-1
B
A
C
4
'a'
'b'
'c'
函数本身
调用三次