`
橡树心
  • 浏览: 46528 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

河内塔问题(Towers of Hanoi)

阅读更多
问题说明:
    河內之塔(Towers of Hanoi)是法国人M.Claus(Lucas)於1883年从泰国带至法国的,河內为越战时北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及這个故事,据说创世紀时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),並命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将损毁,而也就是世界末日來临之时。
import java.io.*;

public class Hanoi {
    public static void main(String args[]) throws IOException {
        int n;
        BufferedReader buf;
        buf = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("请输入盘子个数");
        n = Integer.parseInt(buf.readLine());

        Hanoi hanoi = new Hanoi();
        hanoi.move(n, 'A', 'B', 'C');
    }

    public void move(int n, char a, char b, char c) {
        if(n == 1)
            System.out.println("盘 " + n + " 由 " + a + " 移至 " + c);
        else {
            move(n - 1, a, c, b);
            System.out.println("盘 " + n + " 由 " + a + " 移至 " + c);
            move(n - 1, b, a, c);
        }
    }
}
分享到:
评论

相关推荐

    Towers of Hanoi

    该程序是经典的Hanoi塔问题的Java语言版.河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的

    matlab开发-TowersofHanoi

    matlab开发-TowersofHanoi。一个Matlab图形用户界面为河内流行的双塔益智游戏提供手动或自动解决方案。

    汉诺塔java源码-towersOfHanoi:河内塔

    汉诺塔java源码河内塔 河内塔游戏的标准 JAVA 实现。 开始时的游戏会询问您要玩多少张光盘。 然后有 3 个阵列 ...TowersOfHanoi.java 进行编译,然后您可以通过 java TowersOfHanoi 运行它 欢迎改进。

    汉诺塔java源码-TowersOfHanoi:河内塔

    2:河内塔 描述: 基于第 3 章,编程问题 12 游戏河内塔由三个钉子和一组堆叠在钉子上的戒指组成。 戒指大小不一。 此处显示了五环游戏的初始配置,第一个塔的环从一英寸(在顶部)到五英寸(在底部)。 河内塔 圆环...

    汉诺塔java源码-Towers-of-Hanoi:河内塔拼图项目

    Towers-of-Hanoi/src/src/towersofhanoi/ 它由两个类组成, 基本GUI.java 河内塔 基本GUI.java : 当我们创建 Java 动画时,这个 Java 文件拥有我们需要的一切。 它实现了单例设计模式。 你可以在文档部分的 src 代码...

    towersOfHanoi:C ++中基于文本的河内塔

    towersOfHanoi:C ++中基于文本的河内塔

    TowersOfHanoi:河内塔的动画

    河内塔 河内塔的动画 ##编译 制作 ##运行程序 Java MainGui

    The Towers of Hanoi-开源

    该项目收集了许多编程语言中的经典“河内塔”问题,包括鲜为人知和/或深奥的语言。

    towersofhanoi:河内塔游戏的 JavaScript 实现

    应用学院项目 ==================== 这是由开始的,但已完成并单独部署。 查看我的相关博客文章。 W6D3 文档对象模型 jQuery I:选择和操作 jQuery II:事件 jQuery III:准备好了 jQuery IV:所有方法 ...

    hanoi-towers:很酷的河内塔算法可视化

    河内塔算法使用Canvas用Vanilla Javascript编写的酷河内塔算法可视化工具现场演示:什么是河内塔河内塔是一个问题,您需要移动由尺寸减小的磁盘制成的塔。 您有一个额外的塔可以使用。 唯一的规则是您不能将较大尺寸...

    程序设计经典问题,河内之塔之类的

    说明河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及这个故事,据说创世纪时Benares有一座波罗教塔,...

    Towers-of-Hanoi:河内塔用户控制和计算机解决的游戏

    河内塔 河内塔用户控制和计算机解决的游戏 允许用户尝试解决挑战并显示最佳解决方案 使用DrawingPanel Java库进行图形处理

    Towers Of Hanoi for Chrome-crx插件

    河内古典拼图塔无需将大块放置在较小的塔上即可移动塔。 对于聪明人来说,这是一个巨大的挑战! 河内塔(又称梵天塔或卢卡斯塔,有时甚至是复数塔)是一种数学游戏或益智游戏。 它由三根杆和许多不同大小的圆盘组成...

    C语言经典算法.pdf

    河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时 北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及这个故事,据说创世 纪时Benares有一座波罗教塔,是...

    C语言算法大全

    河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时 北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及这个故事,据说创世 纪时Benares有一座波罗教塔,是...

    Towers-of-Hanoi

    河内塔与我的 Tic Tac Toe repo 类似,我用不同的语言(Ruby 和 JS)创建了几次河内塔。 我在提供的 Towers of Hanoi JS 代码之上编写了这个版本,把它变成了一个浏览器游戏。

    Towers-Of-Hanoi:解决河内塔的小程序

    河内塔 解决河内塔的小程序。 不建议在“正常速度”上运行超过 4 或 5 个磁盘的模拟,因为在该设置下动画非常缓慢。 对于更大数量的磁盘,请使用“超级速度”设置。

    towers_hanoi:浏览器的河内之塔

    #河内的塔[主站点] [主站点] [主站点]: : 描述浏览器的河内之塔怎么玩单击该框以从中删除光盘单击该框以添加光盘目的是将所有光盘以与开始时相同的顺序堆叠在另一个盒子中技术和语言Javascript,jQuery,CSS3,...

    tower-of-hanoi:数学游戏河内塔

    河内塔 河内塔(也称为梵天塔或卢卡斯塔,有时也称为塔)是一种数学游戏或谜题。 它由三个杆和许多不同大小的圆盘组成,可以滑到任何杆上。 拼图开始时,圆盘在一根杆上按照尺寸升序排列整齐,最小的在顶部,从而...

Global site tag (gtag.js) - Google Analytics