← Все вопросы
Как вывести первые N чисел Фибоначчи без рекурсии?
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 = сумма». Питон сначала вычисляет правую часть целиком, поэтому менять переменные местами безопасно. Этот способ быстрый, в отличие от рекурсии.
Ваш ответ
Войдите, чтобы ответить на вопрос.