在浏览器中玩 · 逻辑
汉诺塔
一次移动一个圆盘,把整座塔移到第三根柱子上,大盘不能放在小盘上面。可选 3 到 6 个圆盘,看看你离最少步数有多近。
这个谜题通过 JavaScript 在浏览器中运行。开启 JavaScript 即可开始玩,也可以下载 Omni Brain 体验完整版。
玩法
- 在棋盘上方选择 3 到 6 个圆盘。塔从 1 号柱开始,目标是 3 号柱。
- 点按或点击一根柱子拿起最上面的圆盘,再点按要放到的柱子。按 1、2、3 键效果相同。
- 大盘永远不能放在小盘上。整座塔都移到 3 号柱后,你会看到自己的步数、最少步数和用时。
成绩怎么看
有 n 个圆盘时,这个谜题至少需要 2ⁿ − 1 步:三个圆盘 7 步,四个 15 步,五个 31 步,六个 63 步。这是数学事实,所以等于最少步数就是完美解法,多出的每一步都是弯路。
你的最好成绩是以最少步数完成的最高的塔。对于每种圆盘数量,游戏还会在这个浏览器中记录你的最快用时,所以你可以两头兼顾:先追求完美解法,再追求更快的解法。
关于汉诺塔
汉诺塔是法国数学家爱德华·卢卡斯于 1883 年发表的谜题。三根柱子上套着一摞大小不同的圆盘,任务是把整摞圆盘移到另一根柱子上,每次只移一个,而且大盘永远不能放在小盘上。这个谜题有一个漂亮的递归解法:要移动最大的圆盘,所有较小的圆盘必须先放到空闲的柱子上,而这座较小的塔也用同样的方法移动。这就是为什么每多一个圆盘,最少步数就翻一倍再加一。要解得好,需要提前规划好几步,把子目标保持在工作记忆中,并用规则检查每一步。心理学家就用这类塔式任务来研究规划能力。在 Omni Brain 中,同样的玩法就是“汉诺塔”游戏,难度会随你调整,后面的关卡还有步数限制。
来自应用的技巧
- Free the biggest disc. To move the largest disc, everything smaller must sit on the spare peg. Make that the goal, then repeat one disc down.
- Smallest disc, same direction. Move the smallest disc every second move, always in the same direction around the pegs. The other move is then forced.
关于汉诺塔的常见问题
汉诺塔最少需要多少步?
n 个圆盘需要 2ⁿ − 1 步:三个圆盘 7 步,四个 15 步,五个 31 步,六个 63 步。每多一个圆盘,步数就翻一倍再加一。
汉诺塔怎么解?
用子目标来思考。要把最大的圆盘放到目标柱上,先把所有较小的圆盘移到空闲的柱子上,再移动最大的圆盘,然后用同样的方法把较小的塔移到它上面。还有一条殊途同归的路:每隔一步移动一次最小的圆盘,并且总是沿同一个方向绕着柱子移动;中间那一步就只有一种走法。
拿起圆盘算一步吗?
不算。圆盘落到另一根柱子上才算一步。如果拿起圆盘后又放回同一根柱子,步数不会增加。
汉诺塔能训练什么?
这是一项规划任务:设定子目标,把它记在心里,并用规则检查每一步。练习会让你更擅长这个谜题本身;而先规划子目标再行动的习惯,才是可以迁移到别处的部分,所以这款游戏的证据标签是 B 级。