[数学]汉诺塔游戏_程序员数学入门_day63

游戏规则

有3根细柱子(A,B,C)。A柱上套着6个圆盘。圆盘按照从第一个圆柱放到最后一个圆柱上面

Snipaste_2020-03-17_22-04-34.png
  • 一次只能移动柱子最上端的一个圆盘

  • 小圆盘上不可以放大的圆盘

  • 那么最少要移动多少次了?

解决问题

  • 先将复杂的问题简单化,我们可以先考虑如果是3个圆盘的时候一共需要多少次

  • 简单的计算之后可以得到是7次移动可以解决问题

  • 那么6层汉诺塔

  • 首先,将5个圆盘从移动到C

  • 然后,将6个之中最大的圆柱从A移动到B柱

  • 最后,将5个圆盘从C柱移动到B柱

  • n层汉诺塔,所需要最少的移动次数为H(n)

    • 在n等于0的时候值为0

    • n大于0的时候等于H(n-1)+1+H(n-1)

H6的值就是63

这种H(n)和H(n-1)的关系称为递推公式

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 汉诺塔游戏,是个佷益智的游戏,其中也蕴含了一些数学的知识,故事的背景甚至蕴含了一些古人对宇宙的思考。今天我们来聊下...
    家和万事亨阅读 796评论 0 1
  • 递归——自己定义自己 GNU是什么的缩写?“GNU is Not Unix”这里面的GNU又是什么的缩写?“GNU...
    锅巴GG阅读 761评论 0 1
  • 高级钳工应知鉴定题库(858题) ***单选题*** 1. 000003难易程度:较难知识范围:相关4 01答案:...
    开源时代阅读 5,912评论 1 9
  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 13,223评论 0 7
  • 递归 递归就是程序自己调用自己的过程。本身理解递归的思想比较容易,举一个求阶乘的例子: 测试: 实际上递归程序不可...
    何物昂阅读 1,726评论 0 1