骄傲的赛亚人

简洁版斐波那契数列

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

 

posted on 2022-03-04 22:11  骄傲的赛亚人  阅读(29)  评论(0编辑  收藏  举报

导航