具有lru_cache的斐波那契序列函数不会显示所有斐波那契数

时间:2020-07-11 12:46:36

标签: python fibonacci memoization functools

我有这个功能,可以打印斐波那契数列中的大量数字。但由于递归,它的速度相当慢。所以我发现了有关lru_cache的信息。但它不会从1开始序列。在此示例中,从1到501,它将开始打印从352到500的数字。您能告诉我为什么吗?

from functools import lru_cache

@lru_cache(maxsize=1000)
def fibonacci(n):
    if n == 1 :
        return 1
    elif n == 2:
        return 2
    elif n > 2:
        return fibonacci(n-1) + fibonacci(n-2)

for i in range(1,501):
    print(i, '::', fibonacci(i))

0 个答案:

没有答案
相关问题