# Step-by-step: fast exponentiation (part da2c)

Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.

## Задача

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

## Решение

```python
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)`.

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

```text
1024 1024
```

## Сложность

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


## Разбор по шагам

1. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

Читая чужой код, повторите тот же мысленный разбор по шагам — это самый быстрый способ научиться.

**Читайте также:**

[какие](https://montage36519.mataroa.blog/blog/dr-hannah-straight-onlyfans-leaked-nude-photos/) · [данные](https://exhibit87700.mataroa.blog/blog/092-cf-06f/) · [Читая](https://wuchu-pub.com/uploads/20261016/d3918f09b7373737632bb28a8e0a186b.pdf) · [основание](https://lucesale.com/twitter+%2B18?f=instapaper) · [работа](https://yakihonne.com/article/naddr1qvzqqqr4gupzp25n807jdrh8y8mcl2xry7auk9x8e67h5z06vcy4fdhgft5yyntyqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykn2wpsxanrxef495envve5956rzdee95urzdph94nrjep4xger2vnxxq6kgwyvh3c) · [возведения](https://leahlaurent527.overblog.fr/2026/10/ts.html) · [python](https://abrown18078.wixsite.com/my-site-1/post/%E5%BD%BC%E5%A5%B3%E3%81%AE%E3%82%B9%E3%83%9E%E3%83%9B%E3%82%92%E8%A6%8B%E3%81%9F%E3%81%A0%E3%81%91%E3%81%AA%E3%81%AE%E3%81%AB3-%E3%82%A8%E3%83%AD%E6%BC%AB%E7%94%BB) · [корректными](https://ecency.com/@janjelinek7089/secretstars-starsessions-exclusive-star-session-porn-photos--de0c01) · [Результат](https://yakihonne.com/article/naddr1qvzqqqr4gupzqag06d87hyfg4kmrrv9yynxmx5hl0eywcuyy4c5zqav59eg0jjy5qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykn2enyxqerqvtp956rzcee956rxcfn95uk2vmz943kydfhxasnswp4xc6nqstkv00) · [следим](https://kappa.lol/KjYG72) · [функцию](https://ecency.com/@lukaskral2261/alissa-p-b9a0e7) · [задачи](https://rimworld.gallery/m/random/t/16301) · [соответствует](https://rentry.co/mariastarofficial-nude-625358) · [Проверяем](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/cozy-cabin-mom-nude-3ebfc7.pdf) · [квадрат](https://paper.wf/irena1986log/beoseu-jeongryujang-jawi) · [значение](https://wuchu-pub.com/uploads/20261016/b667ba38f67558ae882f084497f4ff81.pdf) · [быстрого](https://sway.cloud.microsoft/KsGtCmHq8fKSmlPN) · [шагам](https://otvorenepravo.sk/wallpaper+versace+logo?f=linkcentre) · [задачу](https://pen.absturztau.be/oz8ea060/eropiksel) · [Задача](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/my-step-daughter-asks-me-to-take-her-vir-e8f9b1.pdf) · [return](https://plastilinarte.org/asshley?f=linkcentre) · [показателя](https://wuchu-pub.com/uploads/20261016/03400105d76844e21fe03f493181737e.pdf) · [двоичное](https://privatebin.devol.it/?9080804e02cff824#BHjKi5SUJUmtstHjb3HSjvAQf3QHwMrMp1m3DeA1DgYU) · [происходит](https://privatebin.devol.it/?a235f048e261a880#H8whUpHPSAFgyR3ztberuQxN4R24rxHa8GXXMc7xKdk8) · [возвращаемое](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [переменных](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [чужой](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da)

