很熟悉的汉诺塔,利用递归思想,用python来写,非常简单,代码如下
#定义汉诺塔递归函数
def Hano(n,a,b,c):
#n等于1的时候,只需移动a到c
if n == 1:
print(a,'-->',c)
return
#塔的高度大于等于2时,先把n-1座塔从a借助c移动到b
Hano(n-1,a,c,b)
#再把a塔剩下的一个盘移动到c
print(a,'-->',c)
#最后把b塔的n-1个盘借助a移动到c
Hano(n-1,b,a,c)
def main():
#输入的字符转换为整型
n = int(input())
Hano(n,'A','B','C')
main()
一定要注意递归的时候形参和实参的位置,不要被abc弄混了