# Walking through fast exponentiation (part 3afb)

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

## Задача

Вычислить `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://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/anagram-shagi-mvf1ykpp.md) · [while](https://sway.cloud.microsoft/ljrU8gnu1hf230cG) · [python](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/sieve-shagi-mvf0fair.md) · [хорошо](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [быстрого](https://rentry.co/bethfit-onlyfans-381723) · [работы](https://writefreely.ethibox.fr/oz82c64c/grch-301-foto-galereia-elektrooborudovaniia-i-aksessuarov) · [встречается](https://news-ctl-posts.hashnode.dev/two-approaches-to-bracket-sequence-validation-part-90e6) · [представление](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bratdva-acee99.pdf) · [делится](https://blog.spikyhair.club/oz4c1a14/sanadong-man) · [показатель](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [основание](https://discuss.tchncs.de/post/65445219) · [учебнике](https://emmafournier342.overblog.fr/2026/10/bellatina.html) · [двумя](https://paper.wf/annakrause79log/turbanli-ince-corapli-azgin-kadin-sicak-pozlar-galerisi) · [Задача](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/onion-porn-links-235662.pdf) · [показателя](https://rentry.co/w6vc7i5d) · [против](https://statics.pancake.vn/web-media-264/39/a8/0b/0b/3f3145c2a3e2b5247fc2f31cf1b79a83669109028926c173ae0cdb90.pdf) · [задачу](https://marieroux757.overblog.fr/2026/10/post-5.html) · [return](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/fatma-tulumcu-5c14d2.pdf) · [тестах](https://articlescad.com/001-x-456-r34-385962.html) · [программированию](https://ninar788.wixsite.com/my-site-1/post/fidan-atalay-onlyfans---teacher-showed-her-underwear) · [работает](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg)

