Как вычислить факториал натурального числа в Python? 😮🔢
Факториал натурального числа можно вычислить с помощью рекурсии или цикла. Вот примеры обоих методов:
def factorial_recursion(n):
if n == 0:
return 1
else:
return n * factorial_recursion(n-1)
print(factorial_recursion(5)) # Выведет: 120
Это рекурсивная функция, которая вызывает саму себя с уменьшенным аргументом до тех пор, пока не достигнет базового случая (n = 0), где она возвращает 1.
def factorial_loop(n):
result = 1
for i in range(1, n+1):
result *= i
return result
print(factorial_loop(5)) # Выведет: 120
Это функция, которая использует цикл для умножения чисел от 1 до n и возвращает полученный результат. Оба метода дадут одинаковый результат.
Детальный ответ
Как вычислить факториал натурального числа в Python
Факториал натурального числа представляет собой произведение всех натуральных чисел от 1 до этого числа. Например, факториал числа 5 равен 1 * 2 * 3 * 4 * 5 = 120. В этой статье мы рассмотрим несколько способов вычисления факториала натурального числа в языке программирования Python.
1. Использование цикла for
Самый простой способ вычислить факториал - это использовать цикл for для перемножения всех чисел от 1 до заданного числа. Вот пример:
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
number = int(input("Введите натуральное число: "))
print("Факториал числа", number, "равен", factorial(number))
В этом примере мы определяем функцию factorial
, которая принимает один аргумент - число n
. Мы инициализируем переменную result
со значением 1, затем с помощью цикла for перемножаем все числа от 1 до n
и сохраняем результат в переменной result
. После завершения цикла, мы возвращаем значение result
.
Затем мы запрашиваем у пользователя ввести натуральное число, вызываем функцию factorial
и выводим результат на экран.
2. Использование рекурсии
Рекурсия - это процесс, в котором функция вызывает саму себя. Мы можем использовать рекурсию для вычисления факториала. Вот пример:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
number = int(input("Введите натуральное число: "))
print("Факториал числа", number, "равен", factorial(number))
В этом примере мы определяем функцию factorial
, которая принимает один аргумент - число n
. Если n
равно 0, то мы возвращаем 1 (так как факториал 0 равен 1). В противном случае, мы возвращаем результат умножения числа n
на факториал числа n-1
.
Затем мы запрашиваем у пользователя ввести натуральное число, вызываем функцию factorial
и выводим результат на экран.
3. Использование модуля math
В языке программирования Python есть модуль math
, который предоставляет функцию factorial
для вычисления факториала. Вот пример:
import math
number = int(input("Введите натуральное число: "))
print("Факториал числа", number, "равен", math.factorial(number))
В этом примере мы импортируем модуль math
и используем функцию factorial
из этого модуля для вычисления факториала заданного числа. Затем мы запрашиваем у пользователя ввести натуральное число и выводим результат на экран.
Заключение
Вычисление факториала натурального числа в языке Python может быть выполнено с помощью цикла for, рекурсии или использования модуля math
. Вы можете выбрать любой из представленных способов в зависимости от ваших предпочтений и требований.