转载请注明出处:http://blog.csdn.net/crazy1235/article/details/70853067
汉诺塔问题
把A柱子上若干个圆盘(从大到小依次往上),借助柱子B,移动到柱子C上去,要求一次只能移动一个圆盘,且大盘子不能放在小盘子上面。
递归求解!
# Hanoi Tower
print 'a ------------> c'
def hanoi(n, a, b, c):
if n == 1:
move(n, a, c)
else:
hanoi(n - 1, a, c, b)
move(n, a, c)
hanoi(n - 1, b, a, c)
def move(n, x, y):
print x, '-->', y, '~', n
print hanoi(3, 'a', 'b', 'c')