Python

Числа Фибоначчи в языке программирования Python: как произвести расчет

Lorem ipsum dolor

Бывают такие случаи, когда необходимо генерировать или вычислять числа Фибоначчи при помощи Python. Числа Фибоначчи — это рядность целых последовательных чисел. Числовой ряд строится по следующему принципу: каждое число является суммой предыдущих двух чисел.

Последовательность числового ряда Фибоначчи выглядит так: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233 и так далее до бесконечности. Числа Фибоначчи известны не только своей грациозной последовательностью и красивыми графиками, но и одной особенностью: при делении двух соседних чисел (большее на меньшее) получается примерно одинаковый результат — 1,618. Такая пропорция названа «золотым сечением». Чуть позже люди стали замечать, что «золотое сечение» прослеживается везде в нашем окружении:

  • пропорциональный рост граней снежинок;

  • расположение лепестков в цветах и листьев в папоротнике;

  • рост «чешуек» ананаса;

  • раковины улиток завиты по этому сечению;

  • пропорции человеческого тела, например, рост разделить на расстояние от ступней и до пояса;

  • и др.

Кстати, ученые выяснили, что люди, чья внешность кажется наиболее приятной, несут больше соотношений «золотого сечения» в своем строении.

Цикл «while» в Python и числа Фибоначчи

Наиболее популярным методом вычисления числа Фибоначчи является использование цикла. Представим, что вам нужно вычислить число Фибоначчи с индексом «n». Что мы имеем:

  • fnum1 и fnum2 нам известны, значения первых двух чисел Фибоначчи равны 1;

  • количество проходов по циклу будет на 2 пункта меньше, потому что первые два числа нам известны, то есть «n-2»;

  • в цикле должны выполняться следующие действия: fnum1+fnum2, а полученную сумму необходимо будет сохранять в переменную, допустим, в fibSum;

  • после суммирования переменной fnum1 присваивается значение предыдущего fnum2, а fnum2 присваивает значение fnumSum, освобождая переменную для следующего суммирования;

  • цикл повторяется «n-2» количество раз;

  • после окончания прохождения цикла на экран необходимо вывести значение последней переменной fnum2.

Как это реализуется:

fnum1 = 1

fnum2 = 1

n = input (“ Введите номер числа Фибоначчи: “)

n = int(n)

i = 0

while i< n-2:

fnumSum = fnum1 + fnum2

fnum1 = fnum2

fum2 = fnumSum

i = i+1

print(“Число Фибоначчи под вашим номером: “, fnum2)

 

Результат программы будет следующим:

Введите номер числа Фибоначчи: 13

Число Фибоначчи под вашим номером: 233

Цикл «for» в Python и числа Фибоначчи

Цикл «for» в Python позволяет вывести не только конкретное число Фибоначчи, но и все предшествующие числа, то есть целый ряд чисел. Чтобы у нас это получилось, мы вывод значения «fsum2» поместим в цикл.

Как это реализуется:

fnum1 = fnum2 = 1

n = intput (“Введите номер числа Фибоначчи: “)

n = int(n)

print (fnum1, fnum2, end= )

for i in range(2, n):

fnum1, fnum2 = fnum2, fnum1 + fnum2

print(“Ряд чисел Фибоначчи до указанного номера: “, fnum2, end= )

 

Программа нам выдаст следующий результат:

Введите номер числа Фибоначчи: 13

Ряд чисел Фибоначчи до указанного номера: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233

Заключение

Числа Фибоначчи можно просчитать при помощи циклов «for» или «while». Иногда для генерации чисел используют рекурсию, однако она имеет ряд ограничений и работает медленнее, чем представленные функции.

Схожие статьи

Односвязный список Python: определение и особенности
Python

Односвязный список Python: определение и особенности

Python

Извлечение текста из файлов MS Word в Python

Делаем ботнет на Python
Python

Делаем ботнет на Python

Добавление элемента в список Python: операции, сравнение, пересечения
Python

Добавление элемента в список Python: операции, сравнение, пересечения