Описание задачи
Программа принимает на вход число и его степень, и при помощи рекурсии вычисляет результат.
Решение задачи
- Принимаем на вход число и значение его степени, записываем их в отдельные переменные.
- Передаем эти переменные в качестве аргументов в рекурсивную функцию.
- Определяем в качестве базового условия рекурсии равенство степени
1. В этом случае функция выводит само число, так как любое число в степени1равно само себе. - В противном случае мы выводим произведение числа на эту же функцию, в которой второй аргумент, степень, уменьшен на
1. - Выводим конечный результат на экран.
- Конец.
Исходный код
Ниже дан исходный код, который осуществляет возведение числа в степень с использованием рекурсии. Результаты работы программы также даны ниже.
def power(base, exp):
if (exp == 1):
return (base)
if (exp != 1):
return (base * power(base, exp - 1))
base = int(input("Введите число: "))
exp = int(input("Введите его степень: "))
print("Результат возведения в степень равен:", power(base, exp))
Объяснение работы программы
- Принимаем на вход число и значение его степени, записываем их в отдельные переменные
baseиexpсоответственно. - Передаем эти переменные в качестве аргументов в рекурсивную функцию
power(). - Определяем в качестве базового условия рекурсии
exp == 1. В этом случае функция выводит само число из переменнойbase, так как любое число в степени1равно само себе. - В противном случае мы выводим произведение числа на эту же функцию, в которой второй аргумент (степень) уменьшен на единицу:
base * power(base, exp - 1). Таким образом мы накапливаем произведение числа, хранящегося в переменнойbase, самого на себя ровноexpраз, что эквивалентно возведению числаbaseв степеньexp. - Выводим конечный результат на экран.
Результаты работы программы
Пример 1: Введите число: 2 Введите его степень: 5 Результат возведения в степень равен: 32 Пример 2: Введите число: 5 Введите его степень: 3 Результат возведения в степень равен: 125

