функция последовательности Фибоначчи с lru_cache не показывает все числа Фибоначчи - PullRequest
0 голосов
/ 11 июля 2020

У меня есть эта функция, которая может печатать большие списки чисел из последовательности Фибоначчи. но это довольно медленно из-за рекурсии. так я узнал о 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))
...