递归求解汉诺塔

#递归求解汉诺塔
def hanoi(n,x,y,z):
    if n == 1:
        print(x,'-->',z)
    else:
        #将n-1个盘子从x借助z移动到y上
        hanoi(n-1,x,z,y)
        #将最后一个盘子从x移动到z上
        print(x,'-->',z)
        #将n-1个盘子从y借助x移动到z上
        hanoi(n-1,y,x,z)

n=int(input('请输入塔的层数:'))
hanoi(n,'x','y','z')

 

posted @ 2017-02-01 22:35  道高一尺  阅读(250)  评论(0编辑  收藏  举报