keskiviikko, 4. marraskuu 2026

Проверяем решение тестами: возведение в степень

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

Задача

Вычислить base ** exp двумя способами: простым умножением и алгоритмом быстрого возведения в степень.

Решение


def power(base: int, exp: int) -> int:
    result = 1
    for _ in range(exp):
        result *= base
    return result


def fast_power(base: int, exp: int) -> int:
    result = 1
    while exp > 0:
        if exp % 2 == 1:
            result *= base
        base *= base
        exp //= 2
    return result


print(power(2, 10), fast_power(2, 10))

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

Быстрый метод использует двоичное представление показателя: показатель делится на два, а основание возводится в квадрат. Число умножений падает с exp до log2(exp).

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


1024 1024

Сложность

O(exp) против O(log exp).

Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.


assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай

Такой минимум уже защищает от случайной ошибки при правках кода.

С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.

---

Related:

- الكس الروسي: جيرتا شابة روسية تمارس الجنس الشرجي والتدليك - Рассматриваем задачу: вычисление факториала - Sarka-Spip Collectif Gallery | Gpl Texte De Votre Message - فضيحة جهاد: دانا المصرية في فيلم ساعة وربع نيك مستمر ومقطع سكس طويل - pale seafoam onlyfans - Issa Vegas OnlyFans Leaked Nude Photos and Videos - Типичные ошибки при решении: переворот строки - Пишем решение с тестами: бинарный поиск - سكس عربي سادي | أجمل مشاهد الجنس القاسي والعنيف مع نساء عربيات - Пишем решение с тестами: проверка анаграмм - Рассматриваем задачу: числа Фибоначчи - Free Crypto Accounting Software: Top Tools & Tax Apps 2026 - Gals O Gurk Nude OnlyFans Leaks & Naked - Несколько вариантов решения: проверка анаграмм - Victoria Bozsar Sensual Pantyhose Galleries on MasterFap - Два подхода: числа Фибоначчи - utanmaztürkler ifşa - افلام سكس على تويتر - أحدث الفيديوهات والمشاهد الحصرية - tsvenum-sf - Rae Rockhold Sex Tape: Watch Rae Rockhold OnlyFans Leaked Video - lalihill - Изучаем задачу: проверка анаграмм - bely belinda tony - jacquedarley - Aleta Font: Decorative Geometric Sans Serif Font Collection

keskiviikko, 4. marraskuu 2026

Осваиваем задачу: решето Эратосфена

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

Задача

Найти все простые числа, не превосходящие n. Наивный перебор делителей слишком медленен — есть классический алгоритм-решето.

Решение


def primes_up_to(n: int) -> list[int]:
    sieve = [True] * (n + 1)
    sieve[0] = sieve[1] = False
    for p in range(2, int(n ** 0.5) + 1):
        if sieve[p]:
            for multiple in range(p * p, n + 1, p):
                sieve[multiple] = False
    return [i for i, is_prime in enumerate(sieve) if is_prime]


print(primes_up_to(30))

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

Список-решето помечает составные числа. Для каждого простого p вычёркиваются его кратные, начиная с p * p — меньшие кратные уже обработаны ранее.

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


[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Сложность

O(n log log n) по времени, O(n) по памяти.

Это решение удобно как отправная точка для экспериментов: попробуйте изменить входные данные и проследить за поведением кода.

---

Related:

- пульт на машина - Типичные ошибки при решении: возведение в степень - Türkçe Milftoon Çizgi Porno – Ensest Hentai Comics Serisi - Медленно и подробно: быстрая сортировка - Рассматриваем задачу: наибольший общий делитель - Два подхода: числа Фибоначчи - 不贞岛 漫画 - ayça çağan - donggeuran bj - mrsadbat comics - Haunted Cemetery Wallpaper 4K - Dark Fantasy Graveyard Art - dominica9sfm - Несколько вариантов решения: проверка анаграмм - funnycams - randomtriples - pale seafoam onlyfans - peejapantv com - Ловушки новичков при решении: подсчёт частот слов - sinemzgr6 onlyfans nude - Пишем решение с тестами: бинарный поиск - Geometry Dash R34 Hentai Porn – Best Rule 34 Fan Art Gallery - 冰凌紫萱 - bad parents ipcam - Nazlıcan Tanriverdi Fotoğrafları ve Profil Bilgileri - queenrogue - Пишем решение с тестами: решето Эратосфена - яндекс музыка новые альбомы - Cock Flash Store Porn Videos | Public Naked Reveal - Tim Tebow Wallpaper, Eagles and Patriots Football Photos - Türbanlı Kadınların Çıplak Am Göt Resimleri ve Fotoğrafları

tiistai, 3. marraskuu 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:

- Ловушки новичков при решении: подсчёт частот слов - arzu yılmaz ifsa - katvixenn - bokep indo terbaru di indonesia - video.av4 - 溫室氣體盤查 標準 - brawl stars janet r34 - 모유야동 - Типичные ошибки при решении: возведение в степень - Cristina Love Leak Free Photos and Videos Collection - اسماء نجمات البورنو الأشهر وصور أجمل نجوم الإباحية - Nightssecret Adult Porn Video, Mature Brunette, Cum, Sweet & Funny - Пишем решение с тестами: решето Эратосфена - Медленно и подробно: быстрая сортировка - Kerala Boob Sucking: Desi Mallu Wife & C - ogirls.art | Hentai Comics, Videos, Rule 34 Art & AI Chat - naim darrechi filtrado - Частые ошибки при решении: сумма цифр числа - سكس مصري مراهقات جديد | نيك مراهقات مصرية فيديو كامل - дала на вписке - ensest film - Несколько вариантов решения: проверка анаграмм - частная школа азбука одесса - Cemre Solmaz İfşa - Türkçe Periscope Porn ve Görseller - fotos desnuda de bella dueñas

tiistai, 3. marraskuu 2026

Moikka maailma!

Onnittelut uudesta blogistasi!

Tämä on esimerkkiartikkeli. Uutta sisältöä voit luoda blogin hallinnan kautta. Voit poistaa tämän artikkelin artikkeliarkiston kautta.