Я только начал изучать алгоритмы, и я застрял в проблеме нахождения огромного числа Фибоначчи. Мой пример ввода - 5949. Выход должен быть рассчитан менее чем за 5 секунд.Огромный номер Фибоначчи
Вот моя попытка:
def calc_fib(n):
if n < 0:
print ("Error. Bad input")
elif n <= 2:
return 1
else:
F = []
for i in range (2,n):
F[i] = F[i-1]+F[i-2]
return F[n]
n = int(input())
print(calc_fib(n))
Но я получаю ошибку в строке с массивами: IndexError: list index out of range
Вы также можете посмотреть [этот ответ] (http://stackoverflow.com/a/14661740/2011147) – Selcuk
Если вы просто хотите вычислить n-й номер Фибоначчи, нет необходимости создавать список. Но если вы хотите рассчитать множество чисел Фибоначчи, тогда список может быть удобным. –