我有这个功能,可以打印斐波那契数列中的大量数字。但由于递归,它的速度相当慢。所以我发现了有关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))