Нахождение степени числа с использованием рекурсии

Описание задачи

Программа принимает на вход число и его степень, и при помощи рекурсии вычисляет результат.

Решение задачи

  1. Принимаем на вход число и значение его степени, записываем их в отдельные переменные.
  2. Передаем эти переменные в качестве аргументов в рекурсивную функцию.
  3. Определяем в качестве базового условия рекурсии равенство степени 1. В этом случае функция выводит само число, так как любое число в степени 1 равно само себе.
  4. В противном случае мы выводим произведение числа на эту же функцию, в которой второй аргумент, степень, уменьшен на 1.
  5. Выводим конечный результат на экран.
  6. Конец.

Исходный код

Ниже дан исходный код, который осуществляет возведение числа в степень с использованием рекурсии. Результаты работы программы также даны ниже.

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))

Объяснение работы программы

  1. Принимаем на вход число и значение его степени, записываем их в отдельные переменные base и exp соответственно.
  2. Передаем эти переменные в качестве аргументов в рекурсивную функцию power().
  3. Определяем в качестве базового условия рекурсии exp == 1. В этом случае функция выводит само число из переменной base, так как любое число в степени 1 равно само себе.
  4. В противном случае мы выводим произведение числа на эту же функцию, в которой второй аргумент (степень) уменьшен на единицу: base * power(base, exp - 1). Таким образом мы накапливаем произведение числа, хранящегося в переменной base, самого на себя ровно exp раз, что эквивалентно возведению числа base в степень exp.
  5. Выводим конечный результат на экран.

Результаты работы программы

Пример 1:
Введите число: 2
Введите его степень: 5
Результат возведения в степень равен: 32
 
Пример 2:
Введите число: 5
Введите его степень: 3
Результат возведения в степень равен: 125
python logo

Python задачи

Наш телеграм канал с тестами по Python, задачами с собеседований и разбором решений.

×