问题:
有三根杆子A,B,C。A杆上有3个圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。
代码:
def hannuo(n, a, buffer, c):
'''
:param n: 盘子的个数
:param a: 柱子
:param buffer: 柱子
:param c: 柱子
:return:
'''
if n == 1:
print(a, '->', c)
return
hannuo(n - 1, a, c, buffer)
hannuo(1, a, buffer, c)
hannuo(n - 1, buffer, a, c)
hannuo(3, 'a', 'b', 'c')
运行结果:
a -> c
a -> b
c -> b
a -> c
b -> a
b -> c
a -> c
未经允许不得转载:445IT之家 » 用Python玩汉诺塔