Python基础入门学习笔记 024 递归:汉诺塔
递归求解汉诺塔
?对于游戏的玩法,我们可以简单分解为三个步骤
–将前个盘子从X移动到Y上。
–将最底下的第64个盘子从X移动到Z上。
–将Y上的个盘子移动到Z上。
?问题一:将X上的个盘子借助Z移到Y上;
?问题二:将Y上的个盘子借助X移到Z上。
?对于游戏的玩法,我们可以简单分解为三个步骤
–将前个盘子从X移动到Y上。
–将最底下的第64个盘子从X移动到Z上。
–将Y上的个盘子移动到Z上。
?问题一:将X上的个盘子借助Z移到Y上;
?问题二:将Y上的个盘子借助X移到Z上。
实例:
1 def hanoi(n, x, y, z): 2 if n == 1: 3 print(x, ' > ', z) 4 else: 5 hanoi(n1, x, z, y) # 将前n1个盘子从x移动到y上 6 print(x, ' > ', z) # 将最底下的最后一个盘子从x移动到z上 7 hanoi(n1, y, x, z) # 将y上的n1个盘子移动到z上 8 9 n = int(input('请输入汉诺塔的层数:')) 10 hanoi(n, 'X', 'Y', 'Z')Python
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?