Программа Python для вычисления факториала через рекурсию
Факториал числа — произведение всех целых чисел от 1 до этого числа.
Например, факториал 6 равен 1*2*3*4*5*6 = 720. Для отрицательных чисел факториал не определён, а 0! = 1.
Что нужно знать
Пример
# Факториал числа через рекурсию
def recur_factorial(n):
if n == 1:
return n
else:
return n*recur_factorial(n-1)
num = 7
# проверяем знак числа
if num < 0:
print("Sorry, factorial does not exist for negative numbers")
elif num == 0:
print("The factorial of 0 is 1")
else:
print("The factorial of", num, "is", recur_factorial(num))
Вывод
The factorial of 7 is 5040
Примечание
Чтобы найти факториал другого числа, поменяйте значение num.
Число хранится в num и передаётся в функцию recur_factorial(), которая считает его факториал.
Как это работает
Функция recur_factorial(n) использует определение факториала через рекурсию: n! = n * (n-1)!. Базовый случай — n == 1, при нём возвращаем сам n. Для остальных значений функция вызывает саму себя с аргументом n-1, и в результате получается произведение всех чисел от 1 до n.