【算法百题之一】n级楼梯有几种跳法

                        【算法百题之一】n级楼梯有几种跳法

 

       大家好,我是Lampard~~

       很高兴又能和大家见面了,接下来准备系列更新的是算法题,一日一练,早日升仙!

 

       今天的问题是:

       有个家伙叫Lampard,他很喜欢跳楼梯。Lampard一次可以选择跳一级,可以跳选择两级.....可以选择跳n(任意)级。

那么问题来了,现在有一个n级的楼梯,他一共能够有多少种跳法呢???

       

       下面是我解题的思路:

  

         我首先把前三次跳楼的次数结果写出来:

         (1)如果楼梯只有一级,毫无疑问只有一种可能

         (2)如果楼梯有两级,我们可以有两种选择,一种是先(0到1到2),另一种是直接(0到2)

         (3)如果楼梯有三级,那么我们第一步跳一级的话,则剩下的可能是f(2) (0到1到2到3)或者(0到1到3)

                                               第一步跳两级的话,剩下的可能是f(1),也就只有一种可能(0到2到3)

                                               第一步跳三级的话就一步到位了。(直接0到3)

 

         做到这里我就开始思考,在手写纸上的红字上,我们观察的答案,究竟是f(n)=f(n-1)+n-1呢还是 f(n)=f(n-1)*2呢?

         于是我们通过f(4),判断出是第二种情况,通过f(5)验证正确。所以结果就是一个很简单的递归le:

 

           f(n)={

                              1,                  n =1

                          2*f(n-1)          n>=1

                         }

 

          代码如下:

         结果如下:

 

(练手题目请各位大哥不要纠结我的程序健壮性...)

 OK,今天的博客就到这里,谢谢大家!!!

                                        

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lampard杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值