Приветствую
Наткнулся на задачу возведения в степень числа через рекурсию функции, но не могу понять алгоритм рекурсии.
Решение задачи:
def rec(a,b):
if b == 0:
return 1
else:
return a * rec(a, b-1)
a, b = 2, 3
print(rec(a,b))
В функции в условии else
а вычисляется до нужной степени, с каждой рекурсией
b уменьшается на единицу и в итоге приравнивается к нулю. Когда
b равно нулю выполняется первое условие (
return 1), но это условие возвращает единицу, а не число, возведенное в степень. Так каким же тогда образом выводится степень, а не единица?