← Все вопросы

Как вывести первые N чисел Фибоначчи без рекурсии?

Задан 12 месяцев назад406 просмотров1 ответ
6

Числа Фибоначчи: 0, 1, 1, 2, 3, 5, 8... где каждое — сумма двух предыдущих. Как вывести первые 10 штук? Видел примеры с рекурсией, но хочу простой цикл.

1 ответ

12
✓ Принятый ответ — помог автору

Самый чистый способ — держать два соседних числа и обновлять их. В Python это делается одной строкой через одновременное присваивание:

a, b = 0, 1
for _ in range(10):
    print(a, end=' ')
    a, b = b, a + b
# 0 1 1 2 3 5 8 13 21 34

Строка a, b = b, a + b означает «новое a = старое b, новое b = сумма». Питон сначала вычисляет правую часть целиком, поэтому менять переменные местами безопасно. Этот способ быстрый, в отличие от рекурсии.

Ваш ответ

Войдите, чтобы ответить на вопрос.