Перейти к содержимому
Задача · Алгоритмы и сложность · урок 9 из 9

Задача: быстрое возведение в степень

Напишите функцию long long power(long long base, int exp), которая возвращает base в степени exp. Число умножений должно расти как O(log exp), а не как O(exp). Для чётного показателя power(b, 2 * k) равно p * p, где p — значение power(b, k).

  • power(2, 10) → 1024
  • power(3, 13) → 1594323
  • power(-2, 5) → -32

Ограничения: exp не меньше 0, а любое число в степени 0 равно 1. Основание может быть отрицательным, а результат всегда помещается в long long.

power.cpp — cpp
cpp · строк: 4
Ctrl+Enter запуск · Esc выйти из редактора