Несколько вариантов решения: возведение в степень
У большинства учебных задач есть минимум два честных решения — сравним их.
Задача
Вычислить base ** exp двумя способами: простым умножением и алгоритмом быстрого возведения в степень.
Решение
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).
Пример работы
1024 1024
Сложность
O(exp) против O(log exp).
Альтернативный подход
Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.
Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.
Related:
- beckylee69 onlyfans
- 木崎 凪
- Пишем решение с тестами: среднее значение списка
- Hidden IP Camera Porn - Secret Amateur Couple Sex Videos
- Ловушки новичков при решении: среднее значение списка
- tiny bunny r34
- Два способа решения: проверка числа на простоту
- Два способа решения: подсчёт частот слов
- me1adinha
- Daleseafoam OnlyFans Leak – Exclusive Photos & Videos
- pirnohup
- Частые ошибки при решении: сортировка пузырьком
- meis3d hentai
- Grace Charis OnlyFans Video Leaks - Exclusive Nude Clips and Stripped Golf Vibes
- نودز بنات مصريه مجموعة حصرية من الصور والفيديوهات الجديدة
- 31vakti Gizli randevu anı - Amatör porno videolar
- слив алиша леманн 30 горячих фото
- Рассматриваем задачу: максимум и минимум списка
- SILK-122 Midnight High | Tsuno Miho Phot
- Проверяем решение тестами: переворот строки