TOWER OF HANOI

汉诺塔,最优步数一看便知。

可调盘数,实时显示最优步数 2ⁿ−1,支持手动移动与自动演示。浏览器本地运行,不上传。

棋盘

设置与统计

已走步数
0
最优步数
7
用时
0s
效率
—

规则

每次只能移动一个盘子,且大盘不能放在小盘上。目标是把全部盘子移到最右侧柱子上,最少需要 2ⁿ−1 步(n 为盘数),这是一个经典的分治递归问题。

本页处理在浏览器本地完成

这个工具能做什么?

可调 1 到 12 个盘子,页面实时给出该盘数下的最优步数 2ⁿ−1(例如 3 盘 7 步、10 盘 1023 步),帮助你直观感受指数级增长。支持两种玩法:手动点击「源柱 → 目标柱」完成移动并计时;或点「自动演示」用分治递归算法自动演示全部解法,也可「下一步」逐步观察。走完会对比实际步数与最优步数给出效率评价。全部在浏览器本地完成。

常见问题

为什么步数是 2ⁿ−1?

要把 n 个盘子从 A 移到 C,必须先把上面 n−1 个盘子移到 B(需 2ⁿ⁻¹−1 步),再把最大盘移到 C(1 步),最后把 n−1 个盘子从 B 移到 C(又需 2ⁿ⁻¹−1 步),相加即 2ⁿ−1。这是分治法的经典递推。

为什么盘数不宜调太大?

步数随盘数指数增长,12 盘就需要 4095 步,逐盘演示会很久。因此本页把盘数限制在 12 以内,主要用于观察规律而非完成挑战。

觉得好用?Found it useful?