Python汉诺塔递归算法实现

关于用递归实现的原理,请查看我之前的文章:

C语言与汉诺塔
C#与汉诺塔

以下为代码:

count = 0
def move(pile, src, tmp, dst):
    global count
    if pile == 1:
        print(src,'-->',  dst)
        count += 1
    else:
        move(pile-1, src, dst, tmp)
        move(1, src, tmp, dst)
        move(pile-1, tmp, src, dst)

num = int(input('输入汉诺塔层数:'))
move(num, 'A', 'B', 'C')
print('一共移动了%d步' %count)

运行结果:
在这里插入图片描述

posted @ 2022-04-24 22:23  CVE-柠檬i  阅读(51)  评论(0)    收藏  举报