Posts pythonTip 44 超级楼梯
Post
Cancel

pythonTip 44 超级楼梯

题目描述: 有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法? 现在给你一个正整数n(0 < n < 10001)

示例:

输入:n = 2

输出:1

分析:

当前为第 n 个台阶时,只可能是第 n-1 个台阶或者是 第 n-2个台阶走上来的。

定义 fac_lst[n] 是走到第 n 级时的走法,难么 fac_lst[n] = fac_lst[n-1] + fac_lst[n-2]

那么也就是和上一题的 斐波拉契数列一样了。 看代码。

代码:

1
2
3
4
5
fac_lst = [1, 1]
for i in range(2, 10001):
    fac_lst.append(fac_lst[-1] + fac_lst[-2])

print(fac_lst[n-1])
This post is licensed under CC BY 4.0 by the author.
Trending Tags
Contents

pythonTip 43 斐波那契数列

pythonTip 45 砝码问题

Trending Tags