Что такое числа Фибоначчи, считаю описывать не стоит, в интернете полно информации об этом. Существует множество способов их вычисления, один из них рекурсия, которая имеет свои определенные недостатки.
Первый раз я вычисление чисел Фибоначчи написал на PascalABC через рекурсию. И когда начал изучать Python, решил написать вычисление на Python, но решил сделать это уже не через рекурсию.
А через списки.
Решение
В данном случае вычисляются все числа Фибоначчи от 0 до n, таким образом мы можем получить доступ к любому числу Фибоначчи.
В приведенном выше коде печатаются все числа Фибоначчи, но сделав
print(f[n - 1])
Мы получим n-е число Фибоначчи.
Задача
Числа Фибоначчи: F0 = 0, F1 = 1, а любое следующее число Фибоначчи равно сумме двух предыдущих: Fn = F(n – 1) + F(n – 2) .
Известно, что при достаточно больших n справедливо приближенное равенство:
Определите наименьший номер n, начиная с которого равенство выполняется с точностью до заданного eps.
Решение
А используя
a, b = b, a + b
в цикле мы всего в пару строчек сможем вычислить практически любое число Фибоначчи в несколько строк. Данное предположение думаю стоит проверить.
Спасибо за потраченное время на прочтение.
Строго не судите.
За уместные комментарии буду признателен.
Примечание:
Задача из: Потапова Е.А. Программирование: учебное методическое пособие. — Томск: Факультет дистанционного обучения, ТУСУР, 2013.