当前位置:   article > 正文

python跳台阶_递推典型算法:猴子爬山,跳台阶,爬楼梯(牛客网)、魔法深渊(快手)----Python、Java...

python小猴子一次可以跳1级台阶,也可以跳2级台阶,现在一共有n级台阶,请问小猴子从

递推算法的基本思想是把一个复杂的、庞大的计算过程转化为简单过程的多次重复,其首要问题是得到相邻的数据项之间的关系,即递推关系。以猴子爬山为例。

1.问题的提出

一个顽猴在一座有30级太假的小山上爬山活跃,猴子上一步可跳1级或者3级,试求上山的30级台阶有多少种不同的爬法

2.简单递推设计

这一问题实际上是一个整数有序可重复拆分的问题。试应用数组递推求解,设爬k级台阶的不同爬法为f(k)种。

探求f(k)的递推关系

上山最后一步到达第30级台阶,完成上山,共有f(30)种不同的爬法,到第30级之前位于哪一级呢?无非就是位于第29级(上跳1级即可到),有f(29)种;或者位于第27级(上跳3级即可到),有f(27)种;于是f(30)=f(29)+f(27)

依次类推,有以下递推关系:

f(k) = f(k-1)+f(k-3)            (k>3)

确定初始条件

f(1) = 1

f(2) = 1

f(3) = 2

3.递推描述

n = int(input()) #总共需要到达的台阶数

result = []

if(n==1):

print(1)

elif(n==2):

print(1)

elif(n=3):

print(2)

else:

result.append(0)

result.append(1)

result.appe

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/739401
推荐阅读
相关标签
  

闽ICP备14008679号