# Understanding fast exponentiation (part 893a)

Разберём задачу, которая встречается практически в каждом учебнике по программированию.

## Задача

Вычислить `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).


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

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

[быстрого](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/newly-married-couple-honeymoon-photos-in-934dd8.pdf) · [тестах](https://statics.pancake.vn/web-media-264/7e/7d/06/e0/b3f5d0dc51c36c3878274249fb81d68c6ad28cb9b2512ae529a04340.pdf) · [return](https://articlescad.com/fd-387055.html) · [руками](https://gilgphotographie.com/omitome?f=instapaper) · [перепишите](https://radicle.network/nodes/seed.pipapo.org/rad%3Az34pMriTkXPQqyhcnrfJKANGX5reL/issues/f442109dffb71b5cc014cf85b8759325d660b2c2) · [умножений](https://hey.xyz/posts/1tgbyjg039thhqk2yrb) · [практически](https://paste2.org/O0CDnf62) · [Сложность](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [против](https://chito.in.ua/blog/hy%E5%B7%A5%E6%88%BF?f=linkcentre) · [Задача](https://privatebin.devol.it/?35220ecfcbbb38bd#1CMw9R9bcsZZ9hfnbXANQoi9BVBcq5jujEKagAPabGG) · [программированию](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [python](https://statics.pancake.vn/web-media-264/30/76/1f/2b/2e30d5b138bc5bcb125d3ff3fb9a4bce43bd15794cbd81eeb0900204.pdf) · [Число](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sabrinadeep-d0a3f3.pdf) · [метод](https://gal93599.carrd.co/) · [O(exp](https://rentry.co/sfubzry6) · [показателя](https://ecency.com/@martinbenes5410/post-eb67d9) · [result](https://ecency.com/@adamsvoboda1644/sofiejanee-nude-e6484f) · [падает](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/prunhob-350d14.pdf) · [пример](https://rentry.co/two-girls-play-omegle-game-850404) · [алгоритмом](https://pen.absturztau.be/oz830f0e/mikayla-campino-nude) · [каждом](https://ecency.com/@karelnovotn6538/femme-nu-youtube-c4c985) · [while](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/av4-us-club-0ee46e.pdf) · [Решение](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g)

