def fib(n): a, b = 0, 1 while a < n: print(a, end=' ') a, b = b, a+b print() fib(1000)
输出:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
写一个函数,定义一个int类型参数,根据传入的参数得到斐波拉契数列的第几位
256的单位是bytes
对同一个函数相同的入参执行的结果进行缓存,通常用于提升递归函数的效率
例:用一个函数得,传一个int正整数,得到斐波那契数列的第几位数
from functools import lru_cache @lru_cache(maxsize=256) def func(n): if n == 1 or n==2: return 1 else: res = func(n-1)+func(n-2) return res res1=func(60) print(res1)
输出:
1548008755920