🧩 谜题
🗼汉诺塔
三根柱子、几个盘子,藏着一条翻倍再翻倍的规律——最少步数是 2ⁿ−1。
传说印度贝拿勒斯的神庙里有三根柱子,僧侣们日夜不停地把 64 个金盘从一根柱子搬到另一根。传说,盘子全部搬完的那一天,世界就会终结。听起来吓人?等你看完步数的规律,就知道这个「末日」有多遥远。
规则只有三条
游戏的目标:把一摞大小不同的盘子从左边的柱子整体搬到右边的柱子上。
- 一次只动一个盘子,而且只能拿柱子最上面的那个;
- 盘子只能放在某根柱子的顶端;
- 大盘子永远不能压在小盘子上。
规则简单,但第三条是雷:一旦大盘压了小盘,立刻全盘皆输。顺带一提:最小的盘子最自由——它想压谁压谁,永远不犯规。
三个盘子的打法
直接想三个盘子容易乱,诀窍是:先会搬两个盘,才会搬三个盘。
要把 3 个盘搬到目标柱:
- 先把上面 2 个盘搬到中间那根辅助柱(3 步);
- 把最大的盘直接放到目标柱(1 步);
- 再把辅助柱上的 2 个盘搬回来盖住它(3 步)。
步,完成。注意到了吗?「搬 2 个盘」这件事出现了两次——大任务被拆成了两次小任务,外加自己的一次移动。
四个盘也一样:先把 3 个盘搬到辅助柱(7 步),挪最大盘(1 步),再把 3 个盘搬回来(7 步),共 15 步。会搬 n−1 个,就会搬 n 个——这条路没有尽头,也永远走得通。
每次移动一片,大片不能压在小片上
步数:1, 3, 7, 15, 31…
数一数最少步数:
| 盘数 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 最少步数 | 1 | 3 | 7 | 15 | 31 |
规律是翻倍再加 1:,,……写成公式就是:
n 个盘子,最少就要 步。这和拆解策略完全对得上:搬 n 个盘 = 搬两次 n−1 个盘 + 挪一次大盘。
为什么 64 个盘子搬不完
算一笔账
。就算僧侣每秒移一个盘、一秒不停,也要五千八百多亿年——是宇宙年龄(约 140 亿年)的 40 多倍。所以世界还很安全。
这就是指数增长的可怕之处:加 1 个盘子只是小小的一步,步数却几乎翻倍。从 5 个盘到 10 个盘,最少步数从 31 涨到 1023——每秒走一步也只要 17 分钟,完全没问题;到 20 个盘,超过一百万步。凡是「每步翻倍」的东西,很快就大到没法想象。
动手检验
随堂小测
1. 3 个盘子最少要几步?
2. 从 3 个盘变 4 个盘,最少步数从 7 变成多少?
3. 为什么说 64 个盘的传说永远搬不完?