理解汉诺塔递归

汉诺塔永远只有三步:blog

不要想多层怎么解决,解决1层,2层,n层的天然就解决了。im

def move(n, a, b, c):
    if n == 1:
        print(a, '-->', c)
        return
    move(n - 1, a, c, b)
    print(a, '-->', c)
    move(n - 1, b, a, c)


move(3, 'A', 'B', 'C')

若是只有一层:直接a--cd3

多层思路:a--b现将源放到中转 a--c源放到目标位置 b--c再从中转放到目标db

相关文章
相关标签/搜索