Возвести произвольное число в произвольную степень, не используя цикл и спец функции?
как возвести произвольное число в произвольную степень, не используя цикл, pow и **? Прошу кратко, но доступно разъяснить
Ответы (2 шт):
Автор решения: Danis
→ Ссылка
можно с помощью рекурсии
def f(a, b):
if b == 1:
return a
return a * f(a, b - 1)
Версия которая учитывает и возведение в нулевую степень и в отрицательую степень
def f(a, b):
if b == 0:
return 1
elif b == 1:
return a
elif b < 0:
return 1 / f(a, -b)
return a * f(a, b - 1)
Автор решения: Sergey Tatarincev
→ Ссылка
школьная математика. a^n = exp(ln(a)*n)
import math
a = 2
n = 3
x = round(math.exp(math.log(a)*n))
print( x )