从汉诺塔游戏理解python递归函数
程序员文章站
2024-02-11 23:06:46
...
汉诺塔游戏规则:
有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方
图片采用知乎的郭风林
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,第三步