Программа Python для вывода последовательности Фибоначчи
Последовательность Фибоначчи — это ряд целых чисел 0, 1, 1, 2, 3, 5, 8, …
Первые два члена равны 0 и 1. Все остальные получаются сложением двух предыдущих, то есть n-й член равен сумме (n-1)-го и (n-2)-го.
Что нужно знать
Пример
# Программа выводит n первых членов последовательности Фибоначчи
nterms = int(input("How many terms? "))
# первые два члена
n1, n2 = 0, 1
count = 0
# проверяем корректность количества членов
if nterms <= 0:
print("Please enter a positive integer")
# если членов всего один — возвращаем n1
elif nterms == 1:
print("Fibonacci sequence upto",nterms,":")
print(n1)
# генерируем последовательность Фибоначчи
else:
print("Fibonacci sequence:")
while count < nterms:
print(n1)
nth = n1 + n2
# обновляем значения
n1 = n2
n2 = nth
count += 1
Вывод
How many terms? 7
Fibonacci sequence:
0
1
1
2
3
5
8
Количество членов хранится в nterms. Первый член инициализируется как 0, второй как 1.
Если членов больше двух, цикл while считает следующий член сложением двух предыдущих, обновляет переменные и продолжает до тех пор, пока не выведет нужное количество значений.
Как это работает
Итеративный подход хранит только два соседних члена n1 и n2 и на каждом шаге сдвигает «окно» вперёд: новый член nth становится n2, а старый n2 — n1. Это эффективнее рекурсивного варианта, потому что каждый член вычисляется ровно один раз.