",c) else: hannoi(n-1a,c,b)#将上面的(n-1)盘子从a移到b print(a,'...">
赞
踩
图中有八个圆盘,我们如果想要将八个圆盘从A移到C上,而且一直要使小盘在上,一次只能移动一个圆盘,我们如何使用三个柱子来转移呢?
我们可以通过这种规律,利用递归的方法,将柱子从A移到C。
def hannoi(n,a,b,c):
if n==1:
print(a,"-->",c)
else:
hannoi(n-1a,c,b)#将上面的(n-1)盘子从a移到b
print(a,'-->',c)#将最后一个盘子从a移到c
hannoi(n-1,b,a,c)#将b中的盘子从b移到c
t=int(input("请输入汉诺塔的层数:"))
hannoi(t,'A','B','C')
#输出
请输入汉诺塔的层数:3
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C
A --> B
A --> C
B --> C
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。