汉诺塔通项公式证明
来源:互联网 发布:淘宝买家采集器破解版 编辑:程序博客网 时间:2024/06/05 02:36
汉诺塔通项公式
汉诺塔问题家传户晓,其问题背景不做详述,此处重点讲解在有3根柱子的情况下,汉诺塔问题求解的通项公式的推导。
问题背景:有A,B和C三根柱子,开始时n个大小互异的圆盘从小到大叠放在A柱上,现要将所有圆盘从A移到C,在移动过程中始终保持小盘在大盘之上。求移动盘子次数的最小值。
变量设置:n为圆盘个数,H(k)为n=k时移动盘子次数的最小值。
递推公式: H(k)=2H(k-1)+1。
通项公式:H(k)=2^k-1。
证明:
(1)证明递推公式:首先被移动到C盘的必定是最大的盘子,否则必定违反“在移动过程中始终保持小盘在大盘之上”的规定。既然要将最大盘移动到C,此时最大盘之上必定没有任何盘子,亦即它独自在一根柱子上,要做到这点最优做法当然是先把较小的n-1个盘子由A移动到B,剩下最大盘独自在A。将n-1个盘由A移动到B花费的最少次数为H(n-1)。此时再将最大盘由A移动到C,此时移动总次数为H(n-1)+1。接着把剩下的n-1个盘由B移动到C,花费的最少次数当然也是H(n-1)。于是得到总移动次数2H(n-1)+1.证得H(k)=2H(k-1)+1。
(2)推导通项公式。由H(k)=2H(k-1)+1得H(k)+1=2(H(k-1)+1),于是{H(k)+1}是首项为H(1)=1,公比为2的等比数列,求得H(k)+1 = 2^k,所以H(k) = 2^k-1
阅读全文
0 0
- 汉诺塔通项公式证明
- 等比数列求和公式证明
- 如何证明平方和公式?
- 莱文森-德宾递推公式证明
- 莱文森-德宾递推公式证明
- 多边形面积公式证明
- 错排递推公式的证明
- 莱布尼茨公式证明
- 【证明】错排公式
- Taylor公式的证明
- prml公式证明
- 四元数旋转公式的证明
- 四元数旋转公式的证明
- 四元数旋转公式的证明
- 四元数旋转公式的证明
- 043 Tayler泰勒公式证明
- 复数的欧拉公式证明
- 用母函数证明莱布尼兹公式
- 虚拟机里的vmnet1 和vmnet8
- 机器人路径规划
- Opencv学习之寻找和绘制物体的凸包
- 用JavaScript制作钟表
- Java面试题集(第三部分)(51-70)
- 汉诺塔通项公式证明
- “五险一金”里的秘密
- C#182课的主要内容
- 如何查询Oracle数据库的操作日志
- python文本相似度计算
- Android启动详解-----init
- Java面试题集(第四部分)(86-115)
- [LeetCode] 122. Best Time to Buy and Sell Stock II
- Oracle日志分析!