Возвести произвольное число в произвольную степень, не используя цикл и спец функции?

как возвести произвольное число в произвольную степень, не используя цикл, 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 )
→ Ссылка