汉诺塔和青蛙跳台阶(递归函数的应用)

本文介绍了使用递归函数解决汉诺塔和青蛙跳台阶的经典问题。对于汉诺塔,通过递归算法计算了移动圆盘的次数,并提供了代码示例。在青蛙跳台阶问题上,分析了斐波那契数列的规律,并针对两种不同限制条件(每次跳1或2个台阶,或1到n个台阶)给出了递归解法及代码演示。
摘要由CSDN通过智能技术生成

汉诺塔和青蛙跳台阶(递归函数的应用)

1. 汉诺塔

  • 从数学角度来看

如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数
这里写图片描述
(1)n == 1

         第1次  1号盘  A---->C       sum = 1 次

(2) n == 2

         第1次  1号盘  A---->B

         第2次  2号盘  A---->C

         第3次  1号盘  B---->C        sum = 3 次

(3)n == 3

第1次 1号盘 A---->C

第2次 2号盘 A---->B

第3次 1号盘 C---->B

第4次 3号盘 A---->C

第5次 1号盘 B---->A

第6次 2号盘 B---->C

第7次 1号盘 A---->C sum = 7 次

不难发现规律:1个圆盘的次数 2的1次方减1

2个圆盘的次数 2的2次方减1

     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值