Алгоритмы

Вычисление факториала числа с использованием рекурсии

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

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

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

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

Исходный код

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

def factorial(n):
    if (n <= 1):
        return 1
    else:
        return (n * factorial(n-1))
n = int(input("Введите число:"))
print("Факториал числа равен:")
print(factorial(n))

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

  1. Пользователь вводит число и оно записывается в переменную n.
  2. Передаем число n в качестве аргумента в рекурсивную функцию, которая вычисляет факториал этого числа.
  3. Задаем базу рекурсии при помощи условия n <= 1 . Если оно выполняется, рекурсивная функция возвращает 1 и ее работа останавливается.
  4. В противном случае функция возвращает n * factorial(n-1) и все повторяется заново.
  5. После того, как функция завершит свою работу, результат выводится на экран.

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

Пример 1:
Введите число:5
Факториал числа равен:
120
 
Пример 2:
Введите число:9
Факториал числа равен:
362880
Ilyaragalin

Recent Posts

7 наилучших библиотек визуализации Python на 2024 год

Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…

3 дня ago

Как преобразовать строку в байты в Python

В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…

2 недели ago

Что такое Werkzeug?

В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…

2 недели ago

Как прибавить дни, месяцы и годы к дате в Python

При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…

3 недели ago

Социальная аутентификация в приложении на Flask

В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…

1 месяц ago

Проверка типов в Python

В этой статье мы рассмотрим, что такое подсказки типов и чем они могут быть полезны.…

1 месяц ago