Какая функция нужна для вычисления факториала в Python?
4 года назад
Andrey Moshkov
Ответы
Для вычисления факториала в Python можно использовать функцию math.factorial() из модуля math или написать собственную функцию для вычисления факториала. Давай рассмотрим оба варианта.
Использование функции math.factorial():
Можно написать собственную функции для вычисления факториала, которая вычисляет факториал числа n путём умножения числа на факториал предыдущего числа (n-1). Базовый случай - факториал 0 равен 1.
3 года назад
Maksim Litvinov
Для вычисления факториала числа существует функция factorial() в модуле math:
4 года назад
Владимир Устянивский
Факториал считает функция math.factorial():
Факториал n — произведение всех чисел от 1 до n: 5! = 1 · 2 · 3 · 4 · 5 = 120. Факториал нуля по определению равен 1.
Через цикл
Через рекурсию
Рекурсия наглядно повторяет формулу n! = n · (n − 1)!. На больших числах она упирается в лимит глубины рекурсии: по умолчанию около 1000 вызовов. factorial(5000) вызовет RecursionError. Цикл и math.factorial такого ограничения не имеют.
Факториал введённого числа
Большие числа
Python работает с целыми числами любого размера:
Ошибки
Факториал определён только для целых неотрицательных чисел. math.factorial(2.5) тоже вызовет ошибку.
Где встречается факториал
- Перестановки: сколькими способами можно расставить n предметов — n!.
- Сочетания: сколькими способами выбрать k предметов из n. В Python для этого есть
math.comb(n, k). - Учебные задачи на рекурсию: факториал — первый пример во многих курсах.
Функции, циклы и рекурсию разбирают в бесплатном курсе «Основы Python», комбинаторику — на курсе «Дискретная математика».
16 дней назад
Никита Вихров






