我要火了,我发现一种更美的解决汉诺塔问题的算法描述,你只需要完成以下步骤即可完成汉诺塔问题。
有圆柱A,B,C。他们的地位是一样的。假设刚开始,圆盘在圆柱A上。
循环A,B,C柱子,假设当前为X柱子,执行如下两步:
第一步,如果可以,将X最上方圆盘移动到相邻的下一个柱子x+1上。
第二步:进一步将X柱的最上方圆盘移动到较远的柱子x+2上。如果x最上方圆盘不能移动到x+2,就将x+2最上方圆盘移动到x。
注:
对于A柱子来说,其下一个柱子是B,其下下个柱子是C。
对于B柱子来说,其下一个柱子是C,其下下个柱子是A。
对于C柱子来说,其下一个柱子是A,其下下个柱子是B。
---------------------
- 本文链接: https://dreamerjonson.com/2018/11/14/node-10-封装代码/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!
郑建勋(jonson)区块链工程师 & Web工程师
灾难总是接踵而至,这正是世间的常理。你以为只要哭诉一下,就会有谁来救你吗?如果失败了,就只能说明我不过是如此程度的男人。