记住这个规律,以后玩汉诺塔基本上就是体力劳动了。

规律:
先小后大,单左双右,循环。

设3个柱子分别是甲,乙,丙,把3根柱子看成一个循环,也就是说,甲的右边是乙,乙的右边是丙,而丙的右边则回到甲,同理,甲的左边就是丙。简单点,记住丙的右边是甲,和甲的左边是丙就行了。
盘子分别是盘1,盘2,盘3,盘4……盘1最小。

按照“单左双右”的规律,先移动小的,也就是先移动盘1,再移动盘2,盘3,按顺序,把能移动的都移动一次,每次移动一步,如果不符合游戏规则,就移动两步,还是不符合的话,就找到盘1,重新按照“单左双右”的规则走,直到完成游戏。

例:3个盘子,单数,向左走。
1,盘1向左移动一步,到丙柱。
2,盘2向左移动一步,不符合游戏规则,移动两步,到乙柱。
3,盘3向左移动一步,不符合游戏规则,移动两步,不符合游戏规则。找到最小的盘1,向左移动一步,移动到乙柱。
4,盘2被盘1压住,无法移动。盘3向左移动一步,到丙柱。
5,找到最小的盘1,向左移动一步,到甲柱。
6,盘2向左移动一步,不符合游戏规则,移动两步,到丙柱。
7,盘3被盘2压住,无法移动。找到最小的盘1,向左移动一步,到丙柱。
游戏完成。

原文链接:http://blog.sina.com.cn/s/blog_68507b0a0100onrr.html

附:n层汉诺塔解法的Python源码

def move(n, a, b, c):if n ==1:print(a, '-->', c)return
    move(n-1, a, c, b)print(a, '-->', c)move(n-1, b, a, c)
move(5, 'A', 'B', 'C')

汉诺塔游戏规律,让汉诺塔沦为体力劳动!(后附汉诺塔解法Python源码)相关推荐

  1. 用Python做一个超好玩的拼图游戏,0基础也能包你学会,附送超详细注释的源码~

    导语 你所认为的python........                                                              python & bor ...

  2. 【使用递归玩通关汉诺塔游戏】算法01-递归(斐波那契数列、汉罗塔问题)-java实现

    递归 定义:在一个方法(函数)的内部调用该方法(函数)本身的编程方式 简而言之就是 "自己调自己" 在玩游戏之前让我们先对递归有一个简单的了解吧! 5.1 递归简介 递归必须有一个 ...

  3. 游戏思考17:寻路引擎recast和detour学习二:recast导航网格生成流程\源码剖析流程\局限性,附录计算点线面举例代码

    一.recastnavigation使用介绍 1)模式选择 Solo Mesh:单块生成 Tile Mesh:分块生成 Temp Obstacles:分块并支持动态阻挡 这里测试的话选单块生成 2)模 ...

  4. 用Android Studio做一个超好玩的拼图游戏,附送超详细注释的源码

    文章目录 一.项目概述 二.开发环境 三.需求分析 四.实现过程 1.拼图游戏布局绘制 2.拼图游戏时间计时 3.拼图游戏打乱显示 4.拼图游戏碎片位置切换 5.拼图游戏成功的条件 6.拼图游戏重新开 ...

  5. Django计算机毕业设计-Steam游戏平台系统论文python(源码程序+lw+远程部署)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...

  6. 力扣LeetCode174.地下城游戏及Python源码实现

    本题为LeetCode题库中第174题地下城游戏,难度困难,题目请参考这里. 一道比较困难DP题目,其中的难点在于如何定义状态转移方程,所以在这里记录一下.这道题刚开始做一点思路都没有,但是通过解读别 ...

  7. 跳一跳python源码下载_微信跳一跳游戏python脚本

    微信更新后出来了一块比较火的小游戏,要是一款不涉及到排行的游戏,可能 没人去关注这款游戏.最开自己一直苦练技术,想在微信排行上面装一装,练了好久才跑三百多分.接着在Github(Github地址),有 ...

  8. java毕业设计——基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现(毕业论文+程序源码)——俄罗斯方块游戏

    基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现,文章末尾附有 ...

  9. 15款Cocos2d-x游戏源码

    (1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现.新局面.悔棋.游戏音乐.胜利后会显示游戏结果. 源码下载:http://www ...

最新文章

  1. 华为某研究生程序员哀叹:年薪五十多万,存款一百万,却不知道未来怎么走!...
  2. 7 成中国职场人厌班,我们为什么会陷入职业倦怠?
  3. SpringMvc入门教程
  4. 高效率学习Java编程提升自我
  5. 关于win32与win64的兼容性问题
  6. ubuntu 16.04下安装mysql
  7. 重庆大学李婷婷计算机学院,北京大学青年研究中心赴我校考察调研
  8. 1090 Highest Price in Supply Chain (25 分)(模拟建树,找树的深度)牛客网过,pat没过...
  9. Set static ip for ubuntu
  10. pyramid setup(修改版)
  11. 软件需求规格说明书 模板
  12. 【财富空间】郝景芳:如何不被未来折叠
  13. 用.iso文件从硬盘安装redhatlinux7.3(转)
  14. POI填充Excel背景色
  15. go build报错,提示错误can‘t load package: package xxx is not in GOROOT (D:\Go\Go\src\xxx)
  16. windows sc使用方法之一
  17. php网页制作代码_如何制作一个简单的HTML登录页面(附代码)
  18. 质因数算法(C/C++)
  19. GrowingIO 数据采集 iOS SDK 测试实践
  20. 计算火车运行时间 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间

热门文章

  1. 夏天快到了,热不热?下雪啦
  2. 论文阅读笔记《Decoupled Visual Servoing With Fuzzy Q-Learning》
  3. SAP的一些术语表,中英对照
  4. LPF: A Language-Prior Feedback Objective Function for De-biased Visual Question Answering 论文笔记
  5. 智能制造产业发展 推动鞋服行业新未来
  6. 你相信命运吗?还有命运规划局?
  7. 下载流媒体的好工具http://www.souxin.com/stream-software-down.htm
  8. 要怎么在计算机里清除桌面内存,电脑内存不足怎么办?怎么清理电脑内存?
  9. VBA中关于WORD的基本应用 比如批量改页眉页脚,从文件名取数字作为页眉等等。
  10. 子曾经曰过,别人对你的看法都是你表演给他们看的结果。