Мне не хватает чего-то знатного здесь.
Ниже функции работает flawlessly.It проверяет значение "б" для нечетных или даже с помощью
экспрессии (б% 2) * 2 == б, затем поднимает "а" к власти "B".
Я проверил это выражение на несколько значений для «b».
Это либо 0, либо 1 в зависимости от четного или нечетного соответственно.
Я не могу найти номер, для которого (b% 2) * 2 == b - это правда.
Но код все же отлично работает.
Может ли кто-нибудь очистить мое замешательство?проверка нечетного и четного числа для возведения в степень
def expo(a,b): # a to the power b
if b == 1:
return a
if (b%2)*2 == b:#checking even or odd
return expo(a*a, b/2)
else: return a*expo(a,b-1)
x=expo(8,2)
print x
x=expo(8,3)
print x
благодаря PKJ