递归实现汉诺塔

**

汉诺塔:

**
直接说规则。有三个柱子,分别为a,b,c,在a上套着多个圈,圈是按照由小到大的顺序套在a上,目标是把a上的圈转移到c上。一次只能转移一个圈,且圈转移到任何柱子上时都是由小到大的顺序,也就是说大的圈不能套在小的上面。求移动次数。显示图:

分析:
圈的个数i=1时,移动方法:a->c
i=2时,移动方法:1从a移到b,2从a移到c,然后将1从b移到c
i=3时,这时的移动便变的麻烦了,这时我们可以用这种思路:将1和2看成一个整体,这是便变成移动2个圈了,但首先我们要将这两个圈分开,我们可以将1.2先放在b上,3放到c上,(也就是1从a移到c,2从a’移到b,1从c移到b,){3从a移到c。}此时完成分离。
【再将1从b移到a,2从b移到c,1从a移到c,】移动完成。
此时可以发现一个现象:。i=1时,是将i从a移到c;i=2时,是1.2从a移到c的三步。而i=3时,可以分为三个部

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值