PGC123

2018-10-23   阅读量: 731

大数据 数据分析师 Python编程

n步能到达顶端。每次可以爬一步或两步,有多少方法?

扫码加入数据分析学习群

python编程 你正在爬楼梯的情况。需要n个步骤才能到达顶端。每次你可以爬上1或2步。有多少种不同的方法可以爬到顶端?完全没思路,这个要怎么做?

首先可以假设有y种爬到顶端的方法,则 y与n之间存在一种函数映射 y = f(n)

已知

当 n = 1 则 y = 1

当 n = 2 则 y = 2

当 n>2时 第一步骤可以是走一步或者两步。

当第一步骤走一步时 有f(n-1)中方法

当第一步骤走两步时 有f(n-2)中方法

则f(n)应当是f(n-1) 与 f(n-2)的和

当 n >2 则 y = f(n-1) + f(n-2)

这个题目考察的是对递归函数的熟悉程度,递归函数的优点是逻辑复杂的问题简单化,代码简练。实现代码如下

def y(n):
if n == 1:
return 1
elif n == 2:
return 2
else:
return y(n-1)+y(n-2)

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数,递归还要有停止条件是要收敛的。递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子