Skip to main content
🟢 Beginner

Калькулятор факториала

Вычислите факториал любого неотрицательного целого числа. n! = n × (n-1) × … × 2 × 1. Бесплатный калькулятор с пошаговым решением.

Понимание факториалов

Факториал положительного целого числа n, записанный как n!, — это произведение всех положительных целых чисел от 1 до n. Определение: n! = n × (n−1) × (n−2) × ... × 2 × 1. Специальный случай: 0! = 1 по определению (не по расчету) — это требуется для работы комбинаторных формул.

Факториалы растут чрезвычайно быстро — быстрее, чем любая полиномиальная или даже большинство экспоненциальных функций. 5! = 120; 10! = 3,628,800; 15! = 1,307,674,368,000; 20! ≈ 2,43 × 10^18; 100! ≈ 9,33 × 10^157. Число 170! примерно 7,26 × 10^306, которое является наибольшим факториалом, представимым в виде 64-разрядного двоичного числа (двойной точности). Наш калькулятор использует арифметику BigInt для точных целочисленных результатов до 170!

Рекурсивное определение факториала: n! = n × (n−1)! для n > 0, с 0! = 1 в качестве базового случая. Эта рекурсивная структура делает факториал классическим вводным примером в информатике для обучения рекурсии, динамической программированию и кэшированию. Вычисление факториала с помощью итерации также является стандартным: инициализируйте результат = 1, а затем умножьте на каждое целое число от 2 до n.

Нотация «n!» была введена Кристианом Крампом в 1808 году как удобная сокращенная запись часто встречающегося произведения 1 × 2 × 3 × ... × n. До этого использовались различные другие записи. Сегодня n! широко признан во всех математических традициях.

Факториалы в комбинаторике и вероятности

Факториал является основой комбинаторики — раздела математики, занимающегося счетом, расположением и выбором. virtually каждая задача счета в вероятности и статистике в конечном итоге включает факториалы.

Пермутации (упорядоченные расположения): Количество способов расположить n различных объектов в ряд — это n! — так называемые n-факториальные перестановки. С 4 книгами на полке: 4! = 24 расположения. С 10 бегунами в гонке, количество возможных расположений для 1-го, 2-го и 3-го места — P(10,3) = 10!/(10−3)! = 10!/7! = 720.

Формула частичной перестановки: P(n,r) = n!/(n−r)! подсчитывает упорядоченные выборки r предметов из n. Формула полных перестановок n! является специальным случаем r = n.

Комбинации (неупорядоченные выборки): C(n,r) = n!/(r!(n−r)!), также записывается как ⁿCᵣ или «n выберите r» или как биномиальный коэффициент. Это подсчитывает количество способов выбрать r предметов из n, где порядок не имеет значения. Из 52 карт, количество 5-карточных рук = C(52,5) = 52!/(5!×47!) = 2,598,960. Вероятность получить королевский флеш = 4/2,598,960 ≈ 0,000154%.

Мультиномиальные коэффициенты: n!/(n₁! × n₂! × ... × nₖ!) подсчитывает расположения n предметов, где n₁ — типа 1, n₂ — типа 2 и т. д. Расположение букв в MISSISSIPPI: 11!/(1!×4!×4!×2!) = 34,650 различных расположений.

ФормулаВыражениеПример
n! (все расположения)n × (n−1) × ... × 15! = 120
P(n,r) перестановкиn! / (n−r)!P(10,3) = 720
C(n,r) комбинацииn! / (r!(n−r)!)C(10,3) = 120
Мультиномиалn! / (n₁! n₂! ... nₖ!)MISS: 4!/(1!3!) = 4

Таблица факториалов: n! для n = 0 до 20

Вот полная таблица факториалов для малых значений n. Памятование первых 10 факториалов полезно для быстрого расчета комбинаторных задач.

nn!Представление
011
111
222
366
42424
5120120
6720720
75,0405 тысяч
840,32040 тысяч
9362,880363 тысячи
103,628,8003,6 миллиона
12479,001,600479 миллионов
151,307,674,368,0001,3 триллиона
202,432,902,008,176,640,0002,4 × 10^18

Эксплозивное рост — впечатляющий: от 10! = 3,6 миллиона до 20! = 2,4 квинтиллиона за 10 шагов. Этот быстрый рост объясняет, почему факториал появляется в знаменателях рядов Тейлора (обеспечивая сходимость) и в нормализующих факторах распределений вероятности.

Аппроксимация Стирлинга и большие факториалы

Для больших n вычисление точных факториалов нецелесообразно — 100! имеет 158 цифр. Аппроксимация Стирлинга обеспечивает превосходное приближение: n! ≈ √(2πn) × (n/e)^n, где e ≈ 2.71828 — число Эйлера.

Точность аппроксимации Стирлинга: для n=10, точное значение = 3,628,800; Стирлинг дает ≈ 3,598,696, относительная ошибка меньше 1%. Для n=100 относительная ошибка меньше 0,1%. Чем больше n, тем точнее приближение становится — относительная ошибка приближения O(1/n).

Логарифм-факториал ln(n!) = Σ ln(k) для k=1 до n (сумма логарифмов) имеет важное значение в вычислениях. В статистике и машинном обучении используются логарифм-вероятности вместо raw вероятностей, чтобы избежать числового подпрыжка (множение многих малых чисел вместе быстро приводит к 0 в арифметике с плавающей запятой). Лог-функция Гамма расширяет это до нецелых аргументов.

Функция Гамма Γ(n) — это продолжение факториала на все комплексные числа, кроме неотрицательных целых чисел: Γ(n) = (n−1)! для положительных целых чисел. Это появляется в распределениях вероятностей (распределение Гамма, распределение Хи-квадрат, распределение Бета) и многих физических формул. Некоторые калькуляторы могут вычислить Γ(1,5) = √π/2 ≈ 0,886 — «факториал» 0,5.

Факториалы в распределениях вероятностей

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

Биномиальное распределение: P(X = k) = C(n,k) × p^k × (1−p)^(n−k). Моделирует количество успехов в n независимых испытаниях с вероятностью p каждый. C(n,k) = n!/(k!(n−k)!) — комбинаторный коэффициент. Сумма по всем k этих членов равна 1 (общая вероятность).

Распределение Пуассона: P(X = k) = (λ^k × e^(−λ)) / k!. Моделирует количество редких событий, происходящих в фиксированном интервале, когда средняя скорость равна λ. k! в знаменателе нормирует распределение. Используется для: приездов в больницу в час, страховых случаев в день, мутаций в репликации генома.

Нормальное распределение и аппроксимация Стирлинга глубоко связаны. Центральное теорема о приближении — что суммы независимых случайных величин приближаются к нормальному распределению — можно доказать с помощью аппроксимации Стирлинга n!. Эта связь между дискретным (факториал) и непрерывным (нормальное распределение) мирами — один из глубочайших результатов в теории вероятностей.

Задача о дне рождения: Вероятность того, что все 23 человека в комнате имеют разные дни рождения = 365!/(365−23)! ÷ 365^23 ≈ 49,3%. Следовательно, существует более 50% вероятность того, что хотя бы два человека делятся днем рождения — знаменитый противоречивый результат, использующий частичные перестановки.

Факториал в теории чисел: конечные нули и теорема Вилсона

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

Конечные нули в n!: Количество конечных нулей в n! равно количеству множителей 10, что равно количеству множителей 5 (поскольку множители 2 всегда более обильны). Формула: count = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... (сумма, пока степень 5 ≤ n). Для 100!: ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24 конечных нули.

Формула Лежандра: Наивысшая степень простого числа p, делящая n!, равна ⌊n/p⌋ + ⌊n/p²⌋ + ⌊n/p³⌋ + ... Это говорит вам о точной простой факторизации n!, которая необходима в теории чисел и комбинаторике.

Теорема Вилсона: Целое число p > 1 является простым, если и только если (p−1)! ≡ −1 (mod p). Для p=5: 4! = 24 ≡ 4 ≡ −1 (mod 5) ✓. Для p=6 (составное): 5! = 120 ≡ 0 (mod 6) ✗. Хотя теорема Вилсона красиво теоретически, она не практична для больших чисел, поскольку вычисление (p−1)! экспоненциально дорогостояще.

Факториальные простые числа: Факториальное простое число — это простое число вида n! + 1 или n! − 1. Примеры: 2! − 1 = 1 (не простое), 3! − 1 = 5 (простое), 3! + 1 = 7 (простое), 4! − 1 = 23 (простое). Поиск больших факториальных простых чисел является активной областью исследований в рекреационной и компьютерной теории чисел.

Как использовать этот калькулятор факториала

Введите неотрицательное целое число n (от 0 до 170) и нажмите «Рассчитать». Калькулятор возвращает точное значение факториала в виде целого числа с помощью JavaScript BigInt для больших значений, избегая ошибок, вызванных нецелочисленными точками, которые будут коррумпировать результаты для n ≥ 19.

Примечания:

Часто задаваемые вопросы

Почему 0! = 1?

По определению и математической конвенции: 0! = 1 обеспечивает последовательное применение комбинаторных формул. C(n,0) = n!/(0! × n!) = 1, что означает, что существует ровно один способ выбрать 0 предметов (не делать ничего). Без этого определения каждая формула, использующая C(n,0), требовала бы специального случая. Конвенция о пустом произведении (произведение нулевых членов = 1) дает тот же аргумент.

Что такое факториал отрицательного числа?

Факториал не определен для отрицательных целых чисел. Рекурсивная связь n! = n × (n−1)! дала бы 0! = 1/(−1)! = 0! при n=0, но 0! = 1, и (−1)! было бы 1/(0!) = 1, и (−2)! = 1/((−1)×(−1)!) = неопределено (деление на ноль при n=0). Функция Гамма расширяет факториал на положительные действительные числа, но имеет полюса (неопределенные сингулярности) при всех неотрицательных целых числах.

Сколько нулей в конце 100!?

24 нули в конце. Считаем множители 5: ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24. (Нет ⌊100/125⌋, поскольку 125 > 100.) Поскольку множители 2 всегда превышают множители 5, количество нулей в конце равно количеству 5 в простой факторизации n!.

Какой факториал может вычислить стандартный калькулятор?

Стандартные калькуляторы с плавающей запятой вычисляют максимум 170! (≈ 7,26 × 10^306, что находится в диапазоне IEEE 754 двойной точности). Более 170! калькулятор дает Бесконечность. Наш калькулятор использует JavaScript BigInt для точного целочисленного вычисления до 170!, отображая полную строку цифр без каких-либо приближений.

Как факториалы используются в вероятности?

Факториалы лежат в основе перестановок P(n,r) = n!/(n−r)! и комбинаций C(n,r) = n!/(r!(n−r)!). Они подсчитывают количество способов расположить или выбрать предметы, образуя основу вероятностных расчетов. Они появляются в биномиальной, пуассоновской и многих других статистических формулах.

Что такое приближение Стирлинга?

Приближение Стирлинга: n! ≈ √(2πn) × (n/e)^n. Для n=10: точное значение = 3 628 800; Стирлинг дает ≈ 3 598 696 (ошибка < 1%). Для n=100: ошибка < 0,1%. Форма логарифма: ln(n!) ≈ n×ln(n) − n + ½×ln(2πn) бесценна в статистике для работы с логарифмическими вероятностями без вычисления огромных факториалов.

Какое отношение между факториалом и функцией Гамма?

Функция Гамма Γ(n) удовлетворяет Γ(n) = (n−1)! для положительных целых чисел. Это расширяет факториал на все комплексные числа (за исключением неотрицательных целых чисел). Γ(1/2) = √π ≈ 1,7725, поэтому мы можем сказать (−1/2)! = √π по соглашению. Функция Гамма появляется в вероятностных распределениях (Гамма, Бета, Хи-квадрат), обработке сигналов и квантовой механике.

Как факториал связан с треугольником Паскаля?

Каждый элемент в треугольнике Паскаля представляет собой биномиальное коэффициент C(n,r) = n!/(r!(n−r)!). Столбец n треугольника Паскаля содержит C(n,0), C(n,1), ..., C(n,n). Каждый элемент представляет собой сумму двух элементов выше него (правило Паскаля: C(n,r) = C(n−1,r−1) + C(n−1,r)), которое можно проверить с помощью формулы факториала. Треугольник Паскаля кодирует комбинаторное счет с помощью факториалов.

Что такое теорема Уилсона?

Теорема Уилсона: p — простое число, если и только если (p−1)! ≡ −1 (мод p). Для p=7: 6! = 720 = 102×7 + 6 ≡ 6 ≡ −1 (мод 7) ✓. Для p=8 (составное число): 7! = 5040 = 630×8 + 0 ≡ 0 ≢ −1 (мод 8) ✓. Красиво теоретически, но не практично для проверки простоты, поскольку вычисление (p−1)! для больших p является компьютерной нецелесообразностью.

Что представляет собой n! в количестве расстановок?

n! — это количество различных способов расположить n уникальных предметов в ряд (перестановка). С тремя предметами {А, В, С}: 3! = 6 расстановок: ABC, ACB, BAC, BCA, CAB, CBA. С 10 предметами: 10! = 3 628 800 расстановок — более 3 миллионов порядков из 10 вещей. С 52 картами: 52! ≈ 8 × 10^67 — астрономически большое число, демонстрирующее, почему перетасованные колоды карт никогда не находятся в одном порядке дважды в истории.

Факториалы в Информатике: Алгоритмы и Сложность

Факториал тесно связан с теорией сложности вычислений — изучением того, как сложны задачи для решения алгоритмически. Понимание факториала помогает объяснить, почему определенные проблемы являются "трудными" в точном математическом смысле.

Задача Туристического продавца (TSP) спрашивает: дано n городов и расстояния между каждой парой, найдите наименьший путь, посещая все города ровно один раз. Напрямую brute-force подход проверяет все возможные порядки: (n−1)!/2 маршрутов (деление на 2 для симметрии, фиксируя стартовый город). Для n=20 городов: 19!/2 ≈ 6 × 10^16 маршрутов. даже при 1 триллионе маршрутов/секунду, это займет 60 000+ лет. Этот факториальный взрыв является причиной того, что TSP является "NP-трудной" и почему в практике используются градиентные алгоритмы (а не точные решения) для больших экземпляров.

Задача сортировки имеет факториальные связи также: n! — это количество возможных порядков n элементов. Оптимальный алгоритм сравнения по сортировке должен различать все n! случаи, требуя хотя бы log₂(n!) сравнений. По приближению Стирлинга, log₂(n!) ≈ n×log₂(n), поэтому теоретический минимум сравнений для сортировки — O(n log n) — достигается алгоритмом merge sort и heap sort.

В динамической программировании, факториальные подзадачи можно кэшировать: когда вы вычисляете k!, вы можете получить (k+1)! = (k+1) × k! без повторного вычисления с нуля. Это уменьшает стоимость вычисления всех факториалов от 1 до n с O(n²) до O(n), ключевая оптимизация в приложениях, требующих многих факториальных значений, таких как генерация таблиц вероятностей.