Описание задачи
Программа принимает на вход число и его степень, и при помощи рекурсии вычисляет результат.
Решение задачи
- Принимаем на вход число и значение его степени, записываем их в отдельные переменные.
- Передаем эти переменные в качестве аргументов в рекурсивную функцию.
- Определяем в качестве базового условия рекурсии равенство степени
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