返回文章列表
📁 游戏攻略

汉诺塔3层、4层、5层通关步骤图解:每一步走法表+两句口诀

汉诺塔3层7步、4层15步、5层31步,每一步怎么走都列成了表;再配两句口诀,不用背表也能走出最少步数。走法表由本站求解程序生成,并在游戏里逐步实测通关。

在线玩汉诺塔
✍️花爪⏱️ 8 分钟阅读
汉诺塔3层、4层、5层通关步骤图解:每一步走法表+两句口诀

先说结论: 3 层最少 7 步、4 层 15 步、5 层 31 步。只要记住两句口诀——单数步永远动最小的盘,并且一直朝同一个方向转圈;双数步只有一种走法——不用背表也能每次都走出最少步数。下面把三种层数的每一步都列成了表,可以打开 汉诺塔在线游戏 对照着走。

本文的走法表由本站汉诺塔的求解代码直接生成,并在游戏里逐步点击实测:3、4、5 层都以最少步数通关(游戏显示“完美!你用了最少步数!”)。

规则 30 秒看懂

三根柱子,最左边那根叠着一摞大小不同的圆盘。目标是把整摞盘搬到最右边那根柱子上,规则只有两条:

  1. 每次只能移动某根柱子最上面的一个盘;
  2. 大盘不能压在小盘上。

为了方便描述,下文把三根柱子叫作 A(起点柱)、B(中转柱)、C(目标柱),对应游戏里从左到右的 1、2、3 号柱,和游戏内“玩法图解”的叫法一致。

第一次打开汉诺塔时的玩法图解:左边是起点柱,中间是中转柱,右边是目标柱

两句口诀:不背表也能走对

口诀一:单数步(第 1、3、5…步)永远动最小的盘,而且方向固定。

  • 总层数是单数(3 层、5 层):最小盘按 A → C → B → A 的顺序转圈;
  • 总层数是双数(4 层、6 层):最小盘按 A → B → C → A 的顺序转圈。

所以第一步怎么走,只看层数:3 层、5 层第一步把最小盘直接放到 C,4 层第一步先放到 B。第一步走反了,后面就再也回不到最少步数了。

口诀二:双数步不动最小盘,这时只剩一种合法走法。

最小盘占着一根柱子,剩下两根柱子之间只能互相挪一个盘:哪边的顶盘更小,就把它挪到另一边(如果一边是空柱,就挪到空柱上)。不用想,只有这一种可能。

这两句我们用程序把 3、4、5 层的最优解逐步检查过:最小盘恰好在每一个单数步移动,方向也始终不变。

3 层:7 步走法表

步盘走法
11(最小)A → C
22A → B
31(最小)C → B
43A → C
51(最小)B → A
62B → C
71(最小)A → C

走完第 3 步时,两个小盘都已经叠在 B 上,A 只剩最大盘、C 是空的——这正是“先把上面的盘挪开,再搬最大盘”的时刻。第 4 步把 3 号盘放进 C,后面 3 步再把两个小盘叠回去。

3 层走到第 3 步:两个小盘在中转柱,最大盘可以直接去目标柱

3 层用 7 步完成,游戏判定为最少步数

4 层:15 步走法表

4 层是双数,最小盘的方向要换成 A → B → C。

步盘走法
11(最小)A → B
22A → C
31(最小)B → C
43A → B
51(最小)C → A
62C → B
71(最小)A → B
84A → C
91(最小)B → C
102B → A
111(最小)C → A
123B → C
131(最小)A → B
142A → C
151(最小)B → C

关键在第 8 步:前 7 步其实就是“把 3 层整体从 A 搬到 B”,第 8 步把最大的 4 号盘放进 C,后 7 步再把 3 层从 B 搬到 C。下图是手机上走到第 8 步后的样子。

手机上 4 层走到第 8 步:最大盘已经到了目标柱,上面三层在中转柱等着

5 层:31 步走法表

5 层又是单数,最小盘回到 A → C → B 的方向。31 步看起来多,其实是“4 层搬一次(15 步)+ 最大盘 1 步 + 4 层再搬一次(15 步)”。

步盘走法
11(最小)A → C
22A → B
31(最小)C → B
43A → C
51(最小)B → A
62B → C
71(最小)A → C
84A → B
91(最小)C → B
102C → A
111(最小)B → A
123C → B
131(最小)A → C
142A → B
151(最小)C → B
165A → C
171(最小)B → A
182B → C
191(最小)A → C
203B → A
211(最小)C → B
222C → A
231(最小)B → A
244B → C
251(最小)A → C
262A → B
271(最小)C → B
283A → C
291(最小)B → A
302B → C
311(最小)A → C

走到一半不确定下一步时,可以按 H 键(或点“提示”):游戏会高亮当前最优一步的起点柱和目标柱。下图是 5 层走完 4 步后按提示的效果,高亮的正是表里的第 5 步——最小盘从 B 回到 A。

5 层第 4 步之后按“提示”,起点柱和目标柱被高亮

为什么 n 层最少要 2ⁿ−1 步

把 n 层搬到 C,必须先把上面 n−1 层整体挪到 B,最大盘才能动;最大盘到位后,再把 n−1 层从 B 搬到 C。所以步数满足“n 层 = 2 ×(n−1 层)+ 1”,从 1 层 1 步算起,就是 3 层 7 步、4 层 15 步、5 层 31 步,一般地是 2ⁿ−1 步。公式的完整推导和递归思路,可以看这篇:汉诺塔最少步数与递归公式 2ⁿ−1 详解。

层数最少步数
37
415
531
663
7127
8255
101023

在本站游戏里练习的小技巧

  • 操作:点一下柱子拿起顶盘,再点目标柱放下;也可以用键盘 1/2/3 选柱,或 ←→ 加回车。
  • 走错了不用重来:Z 撤销、Y 重做。
  • 卡住了:H 显示下一步最优走法;D(“看解法”)从当前局面自动演示剩下的最优解,演示中点任意柱子可以停下。
  • 层数是一层层解锁的:通关当前层数后才解锁下一层,最高 10 层。每层的最佳步数和用时保存在本机浏览器里。
  • 每日挑战:7 层、限定步数内完成(最优解是 127 步),适合把口诀练熟以后试试。

常见问题

4 层第一步放到 C 可以吗? 能放,但之后至少要多走几步才能补回来。双数层第一步应该放到 B。

怎么知道自己走没走偏? 看游戏上方的“步数”和“最少步数”:通关时两者相等就是完美解;中途可以按 H 对照提示。

6 层、7 层也能用这两句口诀吗? 能。6 层是双数,最小盘按 A → B → C 转;7 层是单数,按 A → C → B 转。


马上试试: 打开 汉诺塔在线游戏,从 3 层开始照着表走一遍,再关掉表只用口诀走 4 层。

分享文章