`
橡树心
  • 浏览: 47896 次
  • 性别: 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

    【描述】:塔罗汉诺,也称为河内之塔,是一个基于递归的经典问题,源自19世纪法国数学家埃德蒙·洛卡斯(Édouard Lucas)。此问题涉及到三个柱子和一堆不同大小的盘子,目标是将所有盘子从一个柱子移动到另一个柱子...

    TowersOfHanoi:河内塔的动画

    **河内塔(Towers of Hanoi)** 是一个经典的递归问题,源自19世纪末的法国数学家爱德华·卢卡斯提出的一种益智游戏。这个游戏由三根柱子和一堆不同大小的圆盘组成,目标是将所有圆盘从一根柱子移动到另一根柱子,...

    汉诺塔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 代码...

    The Towers of Hanoi-开源

    总的来说,"The Towers of Hanoi-开源"项目是一个宝贵的教育资源,它将一个经典的逻辑难题与多样的编程实践相结合,为程序员提供了无尽的学习和探索机会。无论你是编程新手,还是经验丰富的开发者,都能在这个项目中...

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

    河内塔(Towers of Hanoi)是一个经典的递归问题,源自19世纪法国数学家爱德华·卢卡斯提出的一个智力游戏。在C++编程语言中实现这个算法,不仅可以帮助我们理解递归的思想,还能锻炼对数据结构和算法的应用能力。本...

    towersofhanoi:河内塔游戏的 JavaScript 实现

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

    Tic-Tac-Toe-and-Towers-of-Hanoi:TTT和河内塔的jQuery实现

    在这个项目“Tic-Tac-Toe-and-Towers-of-Hanoi: TTT和河内塔的jQuery实现”中,我们主要关注的是使用JavaScript的jQuery库来创建两个经典的游戏:井字游戏(Tic-Tac-Toe)和河内塔(Towers of Hanoi)。下面将详细...

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

    在这个“Towers-of-Hanoi: 河内塔用户控制和计算机解决的游戏”中,用户可以亲自尝试解决河内塔问题,同时游戏也会展示最佳解决方案。这种交互式体验不仅增加了趣味性,也提供了直观理解递归算法的机会。 项目采用...

    河内塔:完成河内塔问题-matlab开发

    在提供的压缩包文件`towers_of_hanoi.zip`中,可能包含了上述MATLAB代码的实现,以及可能的扩展如图形化界面或者不同优化策略的版本。解压并研究这些文件,可以帮助你更深入地理解河内塔问题的递归算法以及MATLAB...

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

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

    towersofhanoi:使用 JS、jQuery 和 CSS 的浏览器内河内塔游戏

    总结来说,"towersofhanoi"项目巧妙地融合了JavaScript的逻辑处理能力,jQuery的便捷DOM操作和事件处理,以及CSS的视觉设计,共同打造出一款可在浏览器内玩的河内塔游戏。通过学习和理解这个项目的实现,开发者不仅...

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

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

    towers-of-hanoi-elixir:用 Elixir 编写的河内塔求解器

    本项目“towers-of-hanoi-elixir”提供了一个用Elixir编程语言编写的河内塔求解器,让我们深入探讨其背后的逻辑与实现。 首先,Elixir是一种基于BEAM虚拟机的函数式编程语言,它以其并发性能、简洁的语法和强大的元...

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

    1. `TowersOfHanoi.java`:主要的Java代码文件,实现了河内塔问题的递归算法和动画效果。 2. `README.md`:项目介绍和使用说明,可能包括如何编译和运行程序、设置动画速度等信息。 3. `.gitignore`:指定在版本控制...

    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有一座波罗教塔,是...

Global site tag (gtag.js) - Google Analytics