The Tower of Hanoi

汉诺塔游戏是19世纪由法国数学家 Lucas 发明的,这个游戏由三根柱子以及n个大小不一的圆盘组成,初始时全部的圆盘都放在第一个柱子(最左边的柱子)上,并且从小到大排列,游戏的目标是将全部的圆盘从小到大放到第二个柱子上,游戏规则是:“每次只能移动一个圆盘,任何时候都不能把较大的圆盘叠在较小的圆盘上”。

我们在这里需要讨论如果要完成游戏,则需要移动的次数。

设 $H_n$ 表示当有n个圆盘时用方法A需要移动的次数。我们可以先用方法A将前n-1个圆盘移到第3个柱子(移动次数为$H_{n-1}$),再将最左边柱子的剩下的一个圆盘移到第二个柱子(移动次数为1次),再将第三个柱子上的n-1个圆盘用方法A放到第2个柱子上(移动次数为$H_{n-1}$),因此$H_n=2H_{n-1}+1$,其中$H_1=1$。

解得:$H_n=2^n -1$

因此需要指数次的移动次数才能够完成汉诺塔。

 

Reve's Puzzle(雷夫难题):4个柱子的汉诺塔问题。

转载于:https://www.cnblogs.com/xiazdong/archive/2013/05/27/3102688.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值