汉诺塔问题之Python

转载请注明出处: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')
    原文作者: 汉诺塔问题
    原文地址: https://blog.csdn.net/crazy1235/article/details/70853067
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞