Py:递归求解汉诺塔,简单的几行编程可以搞定很高层的三柱汉诺塔游戏

简介: Py:递归求解汉诺塔,简单的几行编程可以搞定很高层的三柱汉诺塔游戏

输出结果

image.png


核心代码


def hanoi(n,x,y,z):

   if n==1:

       print(x,'--→',z)

   else:

       hanoi(n-1,x,z,y) #将前n-1个盘子从x移动y上

       print(x,'--→',z) #将最低下的最后一个盘子从x移动z上

       hanoi(n-1,y,x,z) #将y上的n-1个盘子移动到z上

n=int(input("Jason niu教你求汉诺塔游戏,请输入汉诺塔的层数:"))

print(hanoi(n,"x","y","z"))

print("Game over!")

 


相关文章
|
9月前
|
存储 JavaScript 前端开发
递归的递归之书:第十章到第十四章
递归的递归之书:第十章到第十四章
67 0
|
9月前
|
算法 JavaScript 前端开发
递归的递归之书:第五章到第九章
递归的递归之书:第五章到第九章
171 0
|
9月前
|
Python
Python实现递归的方式来生成斐波那契数列
Python实现递归的方式来生成斐波那契数列
|
4月前
|
算法 定位技术
数据结构与算法学习九:学习递归。递归的经典实例:打印问题、阶乘问题、递归-迷宫问题、八皇后问题
本文详细介绍了递归的概念、重要规则、形式,并展示了递归在解决打印问题、阶乘问题、迷宫问题和八皇后问题等经典实例中的应用。
75 0
|
8月前
|
存储 缓存 算法
动归和递归算法讲解
动归和递归算法讲解
|
8月前
|
存储 算法 数据挖掘
python5种算法模拟螺旋、分层填充、递归、迭代、分治实现螺旋矩阵ll【力扣题59】
python5种算法模拟螺旋、分层填充、递归、迭代、分治实现螺旋矩阵ll【力扣题59】
|
9月前
|
算法 Java
Java程序设计基础——递归
Java程序设计基础——递归
汉诺塔+小青蛙跳台阶---《递归》
汉诺塔+小青蛙跳台阶---《递归》
124 0
递归函数之汉诺塔(附:raptor汉诺塔)
递归函数之汉诺塔(附:raptor汉诺塔)
|
算法 测试技术
动态规划真的有那么抽象吗?(递推算法还是动态规划别傻傻分不清了) 以正确的姿势学习动态规划 (入门篇)
动态规划真的有那么抽象吗?(递推算法还是动态规划别傻傻分不清了) 以正确的姿势学习动态规划 (入门篇)
动态规划真的有那么抽象吗?(递推算法还是动态规划别傻傻分不清了) 以正确的姿势学习动态规划 (入门篇)