欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从汉诺塔游戏理解python递归函数

程序员文章站 2024-02-11 23:06:46
...

汉诺塔游戏规则:

有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方

从汉诺塔游戏理解python递归函数

从汉诺塔游戏理解python递归函数

从汉诺塔游戏理解python递归函数
从汉诺塔游戏理解python递归函数
从汉诺塔游戏理解python递归函数
图片采用知乎的郭风林

def move(n,begin,buffer,to):
    if n==1:
        print('Move',n,'Begin',begin,'to',to)
    else:
        move(n-1,begin,to,buffer)
        #讲n-1个圆盘从a搬到b ,第一步
        move(1,begin,buffer,to)
        #讲最大的圆盘从a搬到c,,第二步
        move(n-1,buffer,begin,to)
        #j讲搬到b的n-1个盘子搬到c,第三步