10th November 2026

Разбираем задачу: числа Фибоначчи

Предлагаю решить задачу вместе: без спешки, с объяснением каждой строки.

Задача

Напечатать первые n чисел Фибоначчи: 0, 1, 1, 2, 3, 5, … Каждое следующее равно сумме двух предыдущих.

Решение


def fibonacci(n: int) -> list[int]:
    a, b = 0, 1
    result = []
    for _ in range(n):
        result.append(a)
        a, b = b, a + b
    return result


print(fibonacci(10))

Как это работает

Храним два последних числа и на каждом шаге сдвигаем пару вперёд одной строкой a, b = b, a + b. Рекурсия здесь не нужна и работает медленнее.

Пример работы


[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

Сложность

O(n) по времени, O(n) по памяти под результат.

Такой пример хорошо закрепляется практикой — перепишите решение руками и прогоните на своих тестах.


Related:

Шаг за шагом: подсчёт частот слов

Решаем и тестируем: быстрая сортировка

Jessie Trueman Nude Photos and Exclusive Online Gallery

Bad Parents Ipcam: Hidden Camera Sex Videos and Photos

게이야동

Neha Bhabhi Cartoon Sex: Horny Bhabhi Fucks Devar Hindi Audio Story

Office Lady In Shirt Fucked Riding On Guy Cock On The Bed In The Hotel Room

Pureloli Anime Cosplay Photo Album Featuring Mayuki

Несколько вариантов решения: сортировка слиянием

Проверяем решение тестами: проверка скобочной последовательности