Your trial period has ended!
For full access to functionality, please pay for a premium subscription
Message
3
5
188
📈 Быстрое возведение числа в целую степень: алгоритм для новичков

Как компьютеры возводят числа в степень эффективно

🔵 Базовый способ:
— Умножаем число само на себя n раз.
— Просто, но медленно: O(n) операций.

def pow_naive(x, n):
result = 1
for _ in range(n):
result *= x
return result

🔵 Быстрый способ: возведение в степень через деление пополам (алгоритм "быстрого возведения в степень"):
— Сокращаем количество операций до O(log n)!
— Идея:
▪️ Если степень чётная → делим пополам.
▪️ Если нечётная → уменьшаем на 1 и снова работаем.

def fast_pow(x, n):
result = 1
while n > 0:
if n % 2 == 1:
result *= x
x *= x
n //= 2
return result

🔵 Чтобы знать об алгоритмах все, забирайте наш курс «Алгоритмы и структуры данных»

Proglib Academy #буст
04/24/2025, 18:00
t.me/proglib_academy/2727
Similar message chronology:
Newest first
Similar messages not found