# Solving and testing fast exponentiation (part 1ed1)

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

## Задача

Вычислить `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  # и второй случай
```

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

Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.

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

[result](https://jaflysilve.freeflarum.com/d/812-812-celine-west-nude-erotic-photos-leaked-pictures-and-more) · [задач](https://rentry.co/gallery-251547) · [метод](https://collection26057.mataroa.blog/blog/sister-marisol-nude-photos-and-videos-exclusive-gallery/) · [решение](https://kappa.lol/YtZyve) · [простые](https://statics.pancake.vn/web-media-264/57/50/68/f5/5f48afb9d99fec28b43c790b264a2f71a41c23924659df832f7dbb97.pdf) · [Быстрый](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Хорошая](https://drop.xtrafrancyz.net/selif/8pzmtn2m2u.pdf) · [проверки](https://yakihonne.com/article/naddr1qvzqqqr4gupzq5vtrwelkluvdkydjxrus6kf0t630k8e9m9skk6595mq6znfk66lqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknjcf5vgervvec95mxxefc956rqvmp95ukydf494jrgdtrx5cnjdtxv5urx7suwev) · [проверять](https://yakihonne.com/article/naddr1qvzqqqr4gupzp6elu673myj5hk349ldw9888qy07020edk4q5v2ktneez4jae7drqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkvv34vejnsd3k95cr2d34956rvd3c94snqvp395ekvdn98yur2ety8q6x2u93ccp) · [правках](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/liluhotty-4d38a7.pdf) · [O(exp](https://paper.wf/ninarichter67log/yadongbada-areumdaun-modeldeulyi-seomsehan-mommaewa-raibeu-caeting) · [представление](https://pen.absturztau.be/oz8ea060/kaori_xoxo-japanese-nsfw-photo-gallery-on-onlyfans-and-myfans) · [квадрат](https://statics.pancake.vn/web-media-264/3e/1c/79/b1/ae0d3d7391648ebbd3e3e62c4cd21baceb686a7d87faed07f0b5246e.pdf) · [power(base](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/merge-sort-oshibki-mva1ja44.md) · [использует](https://paste2.org/XCpUwVfB) · [крайние](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [тестами](https://news-ctl-posts.hashnode.dev/common-mistakes-in-quicksort-part-bbba) · [вызова](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/rule-34-ashley-graves-02a309.pdf) · [проверка](https://stills52825.mataroa.blog/blog/413-e2-3cd/) · [алгоритмом](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/alejamadness-bd3285.pdf) · [сразу](https://privatebin.devol.it/?f8d1dcca7728c035#AmsXCUKLyX7u3B5on2bHeqSbBt17Xw8zwujDzX23YXVf) · [range(exp](https://collection11860.mataroa.blog/blog/nsfw-live-wallpaper/) · [Тесты](https://sway.cloud.microsoft/KB3qIzwFNRAtUwcj) · [print(power(2](https://veronikacosta5.wixsite.com/my-site-1/post/gay-nude-photos-of-blonde-muscular-and-tattooed-men) · [против](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [задаче](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nearby-sex-club-288d31.pdf)

