Discuss / Python / 输出汉诺塔问题的总步数

输出汉诺塔问题的总步数

Topic source
##move.py
def move(n,x,y,z,step=[0]):
    if n==1:
        step[0]=step[0]+1
        print(x,'--->',z,"step",step[0])
    else:
        move(n-1,x,z,y,step)
        move(1,x,y,z,step)
        move(n-1,y,x,z,step)

##hanoiTower.py
from move import move
num=int(input('input num:'))
step=[0]
move(num,'x','y','z',step)
print('finish,step is',step[0])

可以输出步数


  • 1

Reply