python

pycharm安装jieba包
https://blog.csdn.net/u013862444/article/details/95898808

Python语言程序设计基础 第二版(嵩天著)课后答案第三章(思考与练习)

https://blog.csdn.net/weixin_46205998/article/details/112730032

python实现斐波那契数列笔记

https://www.cnblogs.com/wolfshining/p/7662453.html

https://blog.csdn.net/xiejiali2020/article/details/88903792

如何理解汉诺塔的递归?

当盘子有3个(调用 move(3,A,B,C))这个情况同样分三步进行:

step1. 把除了最大的盘子之外的盘子从A移到B(注意对于这个步骤来说此时A为开始柱,C为中转柱,B为目标柱,这样才能完成把最上面的2个盘子从A—>B的任务)

A—>C (开始柱—>中转柱)
【相当于调用 move(1,A,B,C)】

A—>B (开始柱—>目标柱)
【相当于调用 move(1,A,C,B)】

C—>B (中转柱—>目标柱)
【相当于调用 move(1,C,A,B)】

step2. 把最大的盘子从A移到C(对于这个步骤来说此时A为开始柱,B为中转柱,C为目标柱,这样才能把最大的盘子从A—>C)

A—>C (开始柱—>目标柱)
【相当于调用 move(1,A,B,C),即直接执行 print(‘A—>C’)】

step3. 把除了最大的盘子之外的盘子从B移到C(注意对于这个步骤来说此时B为开始柱,A为中转柱,C为目标柱,这样才能完成把处于step2中的中转柱的2个盘子从B—>C的任务)

B —> A (开始柱—>中转柱)
【相当于调用 move(1,B,C,A)】

B —> C (开始柱—>目标柱)
【相当于调用 move(1,B,A,C)】

A —> C (中转柱—>目标柱)
【相当于调用 move(1,A,B,C)】

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值