`
koen
  • 浏览: 81866 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Ruby版本的“汉诺塔(Hanoi)”程序

阅读更多
def hanoi(n, from, to, temp)
  if(n<0)
    puts "n should be a positive integer."
  elsif(n==1)
    move(n, from, to)
  else
    hanoi(n-1, from, temp, to)
    move(n, from, to)
    hanoi(n-1, temp, to, from)
  end
end

def move(n, from, to)
  puts "Move No.#{n} disk from #{from} to #{to}."
end

hanoi(5, "Start", "Finish", "Temp")
 
分享到:
评论

相关推荐

    python编程小游戏汉诺塔hanoi

    这是使用python语言编程的小游戏,汉诺塔hanoi,欢迎大家下载

    最新最精彩汉诺塔HanoiTower

    汉诺塔(Hanoi Tower)是一款经典的逻辑游戏,源自19世纪法国数学家艾德蒙·洛卡尔提出的问题。这个游戏的目标是将一个柱子上的全部盘子借助另外两个柱子,按照大小顺序移动到另一个柱子上,每次只能移动一个盘子,...

    汉诺塔演示程序(包含二叉树的演示动画)

    汉诺塔演示程序结合了二叉树的演示动画,为学习和理解这两种计算机科学基础知识提供了一个生动直观的方式。首先,我们来深入探讨一下汉诺塔问题及其解决方案。 汉诺塔是一个经典的递归问题,由三个柱子和一堆大小...

    汉诺塔 hanoi C代码

    在运行这个程序时,用户会被提示输入圆盘的数量,然后程序会打印出移动盘子的每一步,模拟整个汉诺塔的解决过程。在`hanoi.txt`文件中,可能包含了类似这样的C代码实现。 总之,汉诺塔问题展示了递归算法在解决复杂...

    汉诺塔 源代码 -汉诺塔小程序

    ---汉诺塔源代码--- ---汉诺塔源代码--- ---汉诺塔源代码--- ---汉诺塔源代码--- ---汉诺塔源代码---

    汉诺塔演示程序 HanoiTower

    汉诺塔(Hanoi Tower)演示程序是一款基于Visual Studio(VS)平台,使用C++编程语言编写的软件。它提供了一个交互式的环境,用于理解和学习经典的汉诺塔问题。汉诺塔问题是一个著名的数学和计算机科学问题,由三个...

    汉诺塔模拟程序 汉诺塔模拟程序 汉诺塔模拟程序

    汉诺塔模拟程序是一种基于Java语言的编程任务,旨在帮助学生深入理解和应用数据结构、算法以及GUI设计。这个课程设计的主要目标是通过实现汉诺塔问题的解决方案,提高学生的编程技能,尤其是对Java语言的理解和实际...

    C#图形界面汉诺塔Hanoi

    汉诺塔(Hanoi)游戏是一个经典的递归问题,它涉及到三个柱子和一堆不同大小的圆盘。玩家需要将所有圆盘从一个柱子移动到另一个柱子,每次只能移动一个圆盘,并且任何时候大盘子都不能位于小盘子之上。在C#环境下,...

    c语言实现的汉诺塔演示程序.zip

    c语言实现的汉诺塔演示程序c语言实现的汉诺塔演示程序c语言实现的汉诺塔演示程序c语言实现的汉诺塔演示程序c语言实现的汉诺塔演示程序c语言实现的汉诺塔演示程序c语言实现的汉诺塔演示程序c语言实现的汉诺塔演示程序...

    汉诺塔演示程序 java程序源代码

    汉诺塔(Hanoi Tower)是一个经典的递归问题,源自一个古老的传说。传说中,在世界末日到来之前,僧侣们需要将64个不同大小的金盘子从一个柱子移动到另一个柱子上,每次只能移动一个盘子,且任何时候大盘子都不能...

    汉诺塔小程序

    汉诺塔小程序 汉诺塔是一个经典的递归算法示例,对于初学C语言的学生是一个不错的程序典例。本文将从汉诺塔小程序的标题、描述、标签和部分内容中生成相关知识点。 递归算法 在汉诺塔小程序中,我们可以看到两种...

    MFC汉诺塔演示程序

    汉诺塔(Hanoi Tower)是一个经典的递归问题,它涉及到将一叠盘子从一个柱子移动到另一个柱子,遵循三个基本规则:每次只能移动一个盘子;大盘子不能放在小盘子上面;必须将整个塔从起始柱子移动到目标柱子。在MFC...

    汉诺塔 hanoi.cpp 用C++实现

    void hanoi(int n,char a,char b,char c) 实现汉诺塔的程序,用递归.

    汉诺塔演示程序

    游戏通常有三根柱子和若干个圆盘,但在这个“汉诺塔演示程序”中,可能提供了更加直观的可视化展示和交互体验。 该演示软件旨在帮助用户理解和实践汉诺塔的解决策略,尤其是对于初学者来说,通过动态演示可以更清晰...

    MFC 汉诺塔 hanoi

    汉诺塔(Hanoi Tower)是一个经典的递归问题,源于19世纪的法国数学家艾德蒙·朗利。在MFC(Microsoft Foundation Classes)框架下实现汉诺塔游戏,可以提供一个直观的用户界面,让用户通过鼠标操作来解决这个问题。...

    汉诺塔演示程序(MFC)

    汉诺塔演示程序是基于MFC(Microsoft Foundation Classes)框架在Visual Studio 2015环境下开发的一个应用程序,主要用于直观地展示汉诺塔问题的解决过程。汉诺塔问题是一个经典的递归算法问题,通常涉及三根柱子和...

    10_05 V4 (汉诺(Hanoi)塔问题).cpp

    汉诺(Hanoi)塔问题

    linux图形界面汉诺塔源程序(c,oop)

    datastruct.h :汉诺塔实体模拟-结构形式及可对塔进行的操作的接口&gt;; datastruct.c :汉诺塔结构与可进行的操作的实现方法&lt;由datastruct.h导出&gt;; 方案2:图形界面 graphics.h :汉诺塔实体模拟-结构形式及可对塔...

    用递归写的汉诺塔小程序

    在汉诺塔程序中,可能会有一个主函数`hanoi(n, source, auxiliary, target)`,其中`n`是盘子的数量,`source`是起始柱子,`auxiliary`是辅助柱子,`target`是目标柱子。这个函数会根据上述的递归步骤进行调用,直到...

    汉诺塔源程序算法 汉诺塔源程序算法

    ### 汉诺塔源程序算法详解 #### 一、汉诺塔问题介绍 汉诺塔(Tower of Hanoi)是一种源自印度的古老数学游戏,它由三个柱子及不同大小的圆盘组成。游戏的目标是将所有圆盘从一个初始柱子移到另一个柱子上,但每次...

Global site tag (gtag.js) - Google Analytics