斐波拉契数列应用
程序员文章站
2024-03-16 13:03:34
...
已知青蛙每次可以跳一格或者两格,求问跳到第n格时一共有多少种方法?
解答:设跳到第n格一共f(n)种方法,那么f(n)=f(n-1)+f(n-2),因为青蛙只能跳一格和两格,只能是前两格方法之和,就可以转化为斐波拉契数列。用生成器解答如下:
def fib(max):
n, a, b, L= 0, 0, 1, []
while n < max:
L.append(b)
a, b = b, a + b
n = n + 1
return L
max = fib(n)
print(L(-1))
上一篇: 两个有序数组合并找第k个元素
下一篇: manacher算法