认识汉诺塔
- 分类益智
- 人数1 人
- 热度★★★☆☆
汉诺塔是一个经典的益智游戏:三根柱子,左边那根从大到小叠着一摞圆盘。你要把整摞圆盘搬到右边的目标柱,每次只能拿一根柱子最上面的那个盘,而且大盘永远不能压在小盘上面。盘数为 n 时最少要 2 的 n 次方减一步,本站提供 3 到 8 个圆盘六档,从 7 步到 255 步,步数和最少步数对照着算成绩。
操作方式随你挑:用鼠标或手指把柱子顶上的圆盘拖到另一根柱子上松开;或者先点一根柱子把顶上的盘「拿起」,再点另一根柱子放下;电脑上还可以按 1、2、3 数字键代表三根柱子。放错地方会弹出提示说明原因,比如大盘不能压小盘。拖动时从柱子任何地方按下都能拿到它最上面的盘,手机上不用精确按在薄薄的圆盘上。
汉诺塔规则详解
开局
三根柱子从左到右叫左柱、中柱、右柱,大厅里选好圆盘数(3 到 8 个)后,所有圆盘按从大到小的顺序叠在左柱上,最小的 1 号盘在最上面。右柱带「目标」标记,是整摞盘最终要去的地方。
搬动规则
每次只能搬一个圆盘,而且只能拿某根柱子最上面的那个。搬起来的盘可以放到任意一根柱子上,但放下时那根柱子顶上的盘必须比它大,或者柱子是空的。违反的操作不会执行,页面会提示原因。
通关条件
全部圆盘按从大到小叠到右柱(目标柱)上就通关。只搬到中柱不算完成。通关后计时停止,弹出结算面板,显示本局步数、最少步数、用时和你在这一档的纪录。
计步
每成功搬动一个圆盘算 1 步,不管搬多远。撤销一步步数减一,所以撤销后再走并不会多算。状态栏实时显示步数和这一档的最少步数,步数超过最少步数时下方会提醒一句。
提示
每局 3 次。点「提示」或按 H 键,建议搬的圆盘闪绿框、该去的柱子亮绿边,下方文字写明「把几号盘从哪根柱子移到哪根」以及从当前局面最少还要几步。提示按从任意局面出发的最优解算,用了提示通关照样算纪录。
续局
点「回大厅」离开没搬完的局,局面、步数、用时和剩余提示次数都会保存;再进大厅会出现「继续上局」选项。重新开始一局或清除纪录会清掉保存的那局。
纪录保存
每档的最少步数、最快用时、是否通关,以及总局数、通关次数、完美通关次数都保存在当前浏览器的本地存储里,换设备或清除浏览器数据会从头开始。大厅底部的「清除纪录和解锁进度」可以手动清零。
汉诺塔获胜窍门
观察 2 号盘的节奏:它每 4 步动一次,3 号盘每 8 步动一次。盘越大动得越少,最大的盘整局只动一次。
把每档的最少步纪录和最快用时当成两个目标分开练:先追求完美步数,再练缩短用时。
中间目标要想清楚:搬上面那摞时,它该去的柱子是「空出最大盘要去的那根」。先想大盘去哪,再决定小摞先去哪。
最大的盘只能在中柱、右柱都空出来之后(或其中一根空、另一根只放着比它小的整摞)才搬,搬之前不要急着往右柱放小盘。
记住 3 个盘的 7 步走法,4 个盘就是「7 步到中柱 + 1 步 + 7 步到右柱」,5 个盘再套一层。熟练后 8 个盘也只是重复。
教小朋友时从 3 个盘开始,让他自己摸索出 7 步,再问「4 个盘怎么办」,体会把大问题拆成小问题的思路。
同一个盘绝不要连搬两次,搬过去又搬回来等于白走两步。如果发现自己想这么做,说明上一步就放错了。
汉诺塔常见说法
- 圆盘从 1 号到 n 号,数字越大盘越大。开局全部叠在左柱,1 号盘在最上面。
- 目标柱最右边那根带「目标」标记的柱子,整摞圆盘要全部搬到这里才算通关。
- 中转柱中间那根柱子。搬 n 个盘时,上面 n−1 个要先借道这里,最大的盘才能过去。
- 最少步数圆盘数为 n 时为 2 的 n 次方减一,是不多走一步的最优解步数。
- 完美用正好最少步数通关。大厅里这一档会标「完美」,战绩里单独计数。
- 递归解法把 n 个盘的问题拆成两次 n−1 个盘的问题加中间搬一次大盘,层层拆到一个盘。提示和演示都按它计算。
- 奇偶规律盘数为奇数时 1 号盘第一步去目标柱,偶数时去中转柱;之后 1 号盘每隔一步动一次、方向不变。
- 续局没搬完就离开时保存下来的那一局,大厅里选「继续上局」接着搬。