跳到主要内容
Z

汉诺塔模拟器

用递归算法求解汉诺塔问题的模拟工具——以最少 2ⁿ−1 步移动圆盘,支持单步执行。直接在浏览器中运行。

免费 无需注册 客户端运行 注重隐私 Updated

/

伪代码

Press Run to animate the algorithm.

使用方法

  1. 1 点击 Run,观看递归解法将圆盘逐个从 A 柱移动到 C 柱。
  2. 2 大盘永远不会被放在小盘上——留意这条规则在每一步中都被严格遵守。
  3. 3 使用 Shuffle 更改圆盘数量,或逐步执行每一次移动。
  4. 4 n 个圆盘所需的最少步数为 2ⁿ − 1。

为什么使用此工具

  • 直观感受经典的递归思路:先把 n−1 个圆盘移到辅助柱,移动最大的圆盘,再把它们移回来。
  • 理解为什么每多一个圆盘,所需步数就会翻倍(2ⁿ − 1)。
  • 是学习递归式问题分解的绝佳入门案例。
  • 完全在你的浏览器中运行,无需注册,无需上传任何文件。

常见问题

汉诺塔是什么?

一种益智游戏,由三根柱子和一叠大小递减的圆盘组成。目标是将整叠圆盘移动到另一根柱子上,每次只能移动一个圆盘,且不能把大盘放在小盘上面。

需要多少步才能完成?

最少步数为 2ⁿ − 1(n 为圆盘数量)——3 个圆盘需要 7 步,5 个圆盘需要 31 步,20 个圆盘则超过一百万步。

递归解法是如何运作的?

要把 n 个圆盘从 A 柱移到 C 柱:先递归地把上面 n−1 个圆盘从 A 移到 B,再把最大的圆盘从 A 移到 C,最后递归地把那 n−1 个圆盘从 B 移到 C。

为什么它是递归的经典范例?

它把一个规模为 n 的问题,拆解成两个规模为 n−1 的子问题,再加一步移动操作——这正是递归式问题分解的本质所在。

什么是 汉诺塔模拟器?

汉诺塔模拟器演示了这道经典三柱问题的递归解法:要移动 n 个圆盘,先把上面 n−1 个圆盘移到辅助柱,再移动最大的圆盘,最后把那 n−1 个圆盘移回目标柱——过程中始终不把大盘放在小盘上面,总共只需 2ⁿ−1 步。

概要

汉诺塔模拟器 是 Zerethon Tools 提供的免费 算法 工具。用递归算法求解汉诺塔问题的模拟工具——以最少 2ⁿ−1 步移动圆盘,支持单步执行。直接在浏览器中运行。. 完全在浏览器中运行 — 无需注册,无需上传。

分类
算法
价格
免费
隐私
基于浏览器
注册
无需

隐私

除非另有说明,否则你的数据永远不会离开浏览器。汉诺塔模拟器 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。

刚接触?阅读包含 Big-O 分析的分步讲解: 了解 Dynamic Programming →

相关工具

在 Zerethon Social 上创作、分享与成长

免费注册。赚取积分,收集成就,与全球创作者建立联系。

免费试用 Zerethon