# Solving and testing fast exponentiation (part 97b9)

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

## Задача

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


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

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

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

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

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

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

[проверок](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/angelthedreamgirl-5dd3a9.pdf) · [Быстрый](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/genbvip-naked-898f8c.pdf) · [Задача](https://discuss.tchncs.de/post/65442111) · [простым](https://articlescad.com/ankita-dave-sex-with-brother-viral-mms-and-porn-videos-383746.html) · [против](https://hey.xyz/posts/3trkbwyzzcpwwvnncyx) · [проверять](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [случайной](https://adammiller38.wixsite.com/my-site-1/post/guerahub---galleries-of-blonde-amateurs-and-sexy-students) · [убеждаемся](https://sway.cloud.microsoft/39x29EfSiDK4GDPz) · [power(base](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [Число](https://statics.pancake.vn/web-media-264/29/92/79/25/51b3bc02dc2729abbbb87c635bf72adc47aa19abafbde2c24d861690.pdf) · [способами](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bericbone-aede48.pdf) · [O(exp](https://paper.wf/ineskoch91log/mega-links-nsfw) · [нескольких](https://khieudam.vip/pholder+porn?f=linkcentre) · [разработчика](https://paperhill5271.bearblog.dev/) · [умножений](https://news-ctl-posts.hashnode.dev/common-mistakes-in-fast-exponentiation-part-ece0) · [log2(exp](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [корректности](https://yakihonne.com/article/naddr1qvzqqqr4gupzqtswumk04su03r0xx9m24preucd85rkdaar53rf4g0jqa4qfl0qmqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknjc3ev5mxgwr9956r2cee956rqen9943rxefs94nxxetyxpnxzvp3vsunyhysx4r) · [показателя](https://jaflysilve.freeflarum.com/d/3035-3035-yu-yuhwa-onlyfans-nude-asian-videos-and-photos) · [Решение](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-468ad6.pdf) · [алгоритмом](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/dripclawed-044088.pdf) · [двоичное](https://radicle.network/nodes/seed.pipapo.org/rad%3Az3C3xFGLFdYPXN5ZdS8iNqS97cDit/issues/3df8f8a2661695c5a43a627757df82eace0fa1d3) · [делится](https://statics.pancake.vn/web-media-264/d9/4c/c5/32/d4ef7aed57bb30a115843b09fa2404aaa3a6c5ff80f0e681fd1bc91f.pdf) · [вызова](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/factorial-razbor-mvdlydh5.md) · [метод](https://discuss.tchncs.de/post/65440587) · [защищает](https://blogfreely.net/nathannazarov26/broncocutie-onlyfans) · [двумя](https://discuss.tchncs.de/post/65439370) · [умножением](https://ecency.com/@stanislavje5847/gv-829eeb) · [квадрат](https://writefreely.ethibox.fr/oz82c64c/sashajoymanvip) · [return](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/gcd-shagi-mvdli1hi.md) · [случаи](https://drop.xtrafrancyz.net/selif/4dp2dzv9z6.pdf)

