Задача 28: Быстрое возведение в степень
Условие задачи:
Напишите функцию быстрого возведения в степень. Количество действий должно быть пропорционально двоичному логарифму \(n\).
Входные данные:
Вводится 2 числа - \(a\) (вещественное) и \(n\) (целое неотрицательное).
Выходные данные:
Необходимо вывести значение \(a^n\).
Решение:
a, b = input().split()
a = float(a)
b = int(b)
def fast(a, b):
if b == 0:
return 1
if b % 2 == 0:
return fast(a*a,b//2)
else:
return fast(a, b-1) * a
print(fast(a, b))
У вас включен блокировщик рекламы. Пожалуйста, выключите его чтобы увидеть решения. На этом сайте не так много рекламы, а кушать что-то надо. Вот котик
Пожалуйста, подождите загрузки решения