Числа Фибоначчи (fn) определяются формулами: f0=f1=1, fn=fn-1+fn-2 при n=2,3,… Разработать схему алгоритма для вычисления числа Фибоначчи. Определить f10, f25, f40.

Вопрос пользователя:

Числа Фибоначчи (fn) определяются формулами: f0=f1=1, fn=fn-1+fn-2 при n=2,3,… Разработать схему алгоритма для вычисления числа Фибоначчи. Определить f10, f25, f40.

Илюха отвечает:

Алгоритм может быть, например, таким. Если нужно вывести нулевое число Фибоначчи, выведем 1, иначе будем считать. Сохраним в переменную номер текущего числа Фибоначчи (изначально 1) и значения текущего и предыдущего элементов (в начале 1 и 1), затем в цикле будем пересчитывать значения элементов, увеличивая номер текущего элемента. Когда номер элемента совпадёт с нужным, выведем ответ.

Реализация (python 3):
n = int(input())
if n == 0:
    print(1)
else:
    prev, curr = 1, 1
    i = 1
    while i < n:
        curr, prev = prev + curr, curr
        i += 1
    print(curr)

Запустив программу, можно узнать, что f10 = 89, f25 = 121393, а f40 = 165580141

Добавить свой ответ