# Walking through fast exponentiation (part cd18)

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

## Задача

Вычислить `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://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [программированию](https://articlescad.com/jjk-kirara-381723.html) · [входные](https://sokolovveronika.wixsite.com/my-site-1/post/gf-bf-viral-mms-video) · [использует](https://zbavsatoho.sk/anaalee9+onlyfans?f=instapaper) · [задачу](https://gal41851.carrd.co/) · [поведением](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-21bb2a.pdf) · [быстрого](https://articlescad.com/valbabyyy03-porn-381406.html) · [показателя](https://yakihonne.com/article/naddr1qvzqqqr4gupzp4qrclkhwc0lzhc6hvm7jru9fz9zysdagxyg888nr8knw6rcqqdfqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykngcehx3sngvfe94jrwwfs956xxcn995unzepj94jkgwr9v33nge34xuuryae84xu) · [log2(exp](https://news-ctl-posts.hashnode.dev/walking-through-factorial-computation-part-0c01) · [работает](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/meia-cassandra-porn-b98a15.pdf) · [while](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/britney-baker-nude-374c89.pdf) · [возводится](https://drop.xtrafrancyz.net/selif/lzg864apqw.pdf) · [делится](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/12baegirl-a7f443.pdf) · [range(exp](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Сложность](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-67db7d.pdf) · [практически](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-6129a1.pdf) · [Задача](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bokep-indo-daisy-bae-onlyfans-yang-suka-9699ac.pdf) · [алгоритмом](https://blogfreely.net/igorcollins26/sks-ybny-sly) · [экспериментов](https://ninadubois5.wixsite.com/my-site-1/post/%D9%87%D9%86%D8%AA%D8%A7%D9%8A-%D9%85%D9%86%D8%AC%D8%A7) · [попробуйте](https://kappa.lol/UZTRIy) · [квадрат](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da)

