Загрузка калькулятора…

Что такое факториал — определение и математический смысл

Факториал числа n (обозначается n!) — это произведение всех натуральных чисел от 1 до n. Математическая запись: n! = 1 × 2 × 3 × … × (n−1) × n, или в эквивалентной форме n! = n × (n−1) × (n−2) × … × 2 × 1. Например, 6! = 6 × 5 × 4 × 3 × 2 × 1 = 720. Восклицательный знак после числа — стандартное математическое обозначение факториала, введённое французским математиком Кристианом Крампом в 1808 году.

Факториал определён для всех неотрицательных целых чисел. По определению, 0! = 1 — это соглашение, обеспечивающее корректность многочисленных формул в комбинаторике, алгебре и анализе. Интуитивное объяснение: факториал пустого множества (n = 0) равен пустому произведению, которое по математическому соглашению равно единице, подобно тому, как пустая сумма равна нулю.

Наш онлайн-калькулятор факториала позволяет мгновенно вычислить n! для любого числа от 0 до 170. Для значений n > 20 калькулятор использует тип BigInt, обеспечивающий точное вычисление без потери разрядов. Результат отображается как в обычном формате с разделителями разрядов, так и в научной нотации для очень больших чисел. Калькулятор также показывает количество цифр в результате и пошаговую формулу вычисления.

Рекурсивное определение и свойства факториала

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

Основные свойства факториала, которые часто используются при решении задач:

  • n! = n × (n−1)! — рекурсивная формула. Позволяет вычислять каждый следующий факториал через предыдущий: 7! = 7 × 6! = 7 × 720 = 5040.
  • n! / k! = n × (n−1) × … × (k+1) — частное факториалов при n > k. Например, 10! / 7! = 10 × 9 × 8 = 720.
  • (2n)! = 2ⁿ × n! × 1 × 3 × 5 × … × (2n−1) — связь с двойным факториалом и степенями двойки.
  • n! делится на все числа от 1 до n — по определению, как произведение всех этих чисел.
  • Для n ≥ 2 факториал n! всегда чётный, так как среди множителей есть 2.
  • Для n ≥ 5 факториал n! всегда делится на 10 (оканчивается нулём), так как содержит множители 2 и 5.

Рекурсивное определение факториала послужило классическим примером при введении концепции рекурсии в информатике. Именно факториал — первая функция, которую изучают при знакомстве с рекурсивными алгоритмами в курсах программирования. Однако на практике итеративная (циклическая) реализация предпочтительнее, так как рекурсивная версия для больших n приводит к переполнению стека вызовов.

Формула Стирлинга — приближённое вычисление факториала

Для больших значений n точное вычисление факториала становится вычислительно затратным, а результат — чрезвычайно длинным числом (например, 100! содержит 158 цифр). В таких случаях используется формула Стирлинга — асимптотическое приближение, предложенное шотландским математиком Джеймсом Стирлингом в 1730 году:

n! ≈ √(2πn) × (n/e)ⁿ

Здесь π ≈ 3,14159 — число пи, e ≈ 2,71828 — основание натурального логарифма. Формула Стирлинга даёт тем лучшее приближение, чем больше n. Относительная погрешность составляет примерно 1/(12n): для n = 10 это около 0,8%, для n = 100 — около 0,08%, для n = 1000 — менее 0,01%.

Более точная версия формулы Стирлинга включает поправочные члены: n! ≈ √(2πn) × (n/e)ⁿ × (1 + 1/(12n) + 1/(288n²) − 139/(51840n³) + …). На практике формула Стирлинга активно используется в статистической физике (вычисление энтропии), в теории информации (энтропия Шеннона) и в комбинаторике (оценка числа перестановок).

Благодаря формуле Стирлинга легко оценить количество цифр в факториале: число цифр в n! ≈ log₁₀(n!) ≈ n × log₁₀(n/e) + 0,5 × log₁₀(2πn). Например, для n = 100: число цифр ≈ 100 × log₁₀(100/2,718) + 0,5 × log₁₀(628,3) ≈ 100 × 1,566 + 0,5 × 2,798 ≈ 158 цифр, что совпадает с точным значением.

Факториал в комбинаторике — перестановки, сочетания, размещения

Факториал — фундаментальная функция в комбинаторике, разделе математики, изучающем количество способов упорядочить, выбрать или расположить элементы множества. Три базовые комбинаторные формулы основаны на факториале:

Перестановки (Pn) — количество способов расположить n различных элементов в определённом порядке. Формула: Pn = n!. Например, количество способов расставить 5 книг на полке: P₅ = 5! = 120. Десять гостей могут сесть за круглый стол (10−1)! = 9! = 362 880 способами (циклические перестановки).

Размещения (Aⁿₖ или P(n,k)) — количество упорядоченных выборок k элементов из n. Формула: A(n,k) = n! / (n−k)!. Например, количество способов выбрать президента, вице-президента и секретаря из 20 кандидатов: A(20,3) = 20! / 17! = 20 × 19 × 18 = 6840.

Сочетания (Cⁿₖ или C(n,k)) — количество неупорядоченных выборок k элементов из n (биномиальные коэффициенты). Формула: C(n,k) = n! / (k! × (n−k)!). Например, количество способов выбрать команду из 3 человек из 10: C(10,3) = 10! / (3! × 7!) = 720 / 6 = 120. Биномиальные коэффициенты образуют знаменитый треугольник Паскаля.

Факториал также используется в формуле перестановок с повторениями: если среди n элементов имеется n₁ одинаковых первого типа, n₂ — второго и так далее, то количество различных перестановок равно n! / (n₁! × n₂! × … × nₖ!). Это так называемый мультиномиальный коэффициент. Например, количество анаграмм слова «МАТЕМАТИКА» (10 букв, из которых М — 2, А — 3, Т — 2, Е — 1, И — 1, К — 1) равно 10! / (2! × 3! × 2! × 1! × 1! × 1!) = 151 200.

Гамма-функция — обобщение факториала на действительные и комплексные числа

Гамма-функция Γ(z) — это обобщение факториала, предложенное Леонардом Эйлером в 1729 году. Связь с факториалом выражается формулой: Γ(n+1) = n! для всех неотрицательных целых n. Гамма-функция определена для всех комплексных чисел, кроме неположительных целых (0, −1, −2, −3, …), где она имеет полюса (обращается в бесконечность).

Интегральное определение гамма-функции: Γ(z) = ∫₀^∞ t^(z−1) × e^(−t) dt при Re(z) > 0. Это определение задаёт непрерывную функцию, которая совпадает с факториалом при натуральных аргументах и интерполирует его для всех остальных значений. Функциональное уравнение Γ(z+1) = z × Γ(z) обобщает рекурсивную формулу факториала n! = n × (n−1)!.

Замечательные значения гамма-функции: Γ(1/2) = √π ≈ 1,7725, что означает, что «полфакториал» (−1/2)! = √π. Также Γ(3/2) = √π/2, Γ(5/2) = 3√π/4. Гамма-функция находит широчайшее применение: в статистике (распределения хи-квадрат, Фишера, Стьюдента), в квантовой механике, в теории специальных функций (бета-функция, гипергеометрические функции), в теории чисел (дзета-функция Римана).

Для вычисления гамма-функции при произвольных аргументах существует приближение Ланцоша, обеспечивающее точность до 15 значащих цифр. В большинстве языков программирования (Python, JavaScript, C++) гамма-функция доступна через стандартные библиотеки: math.gamma() в Python, Math.lgamma() в некоторых реализациях.

Факториал в математическом анализе — ряды Тейлора и Маклорена

Факториал играет центральную роль в разложении функций в ряды Тейлора (и частный случай — ряды Маклорена). Ряд Тейлора позволяет представить гладкую функцию как бесконечную сумму степенных членов, каждый из которых содержит факториал в знаменателе:

f(x) = Σ f⁽ⁿ⁾(a) × (x−a)ⁿ / n! для n от 0 до ∞

Важнейшие разложения в ряд Маклорена (a = 0):

  • eˣ = 1 + x/1! + x²/2! + x³/3! + x⁴/4! + … — экспоненциальная функция. При x = 1 получаем: e = 1 + 1 + 1/2 + 1/6 + 1/24 + … ≈ 2,71828.
  • sin x = x − x³/3! + x⁵/5! − x⁷/7! + … — разложение синуса в ряд.
  • cos x = 1 − x²/2! + x⁴/4! − x⁶/6! + … — разложение косинуса.
  • ln(1+x) = x − x²/2 + x³/3 − x⁴/4 + … — натуральный логарифм (здесь факториал скрыт в коэффициентах).

Деление на n! в рядах Тейлора обеспечивает сходимость ряда: поскольку n! растёт быстрее любой степени xⁿ, члены ряда стремятся к нулю, и сумма ряда конечна для всех x (в случае eˣ, sin x, cos x). Факториал в знаменателе — это, по сути, нормировка, позволяющая раскладывать функцию в сходящийся ряд.

Замечательная формула Эйлера e^(iφ) = cos φ + i × sin φ, объединяющая экспоненту, тригонометрию и мнимую единицу, тоже доказывается через разложения с факториалами. Подстановка iφ в ряд для eˣ и группировка действительных и мнимых членов даёт ряды для cos φ и sin φ.

Факториал в теории чисел

Факториал тесно связан с теорией чисел — разделом математики, изучающим свойства целых чисел и, в частности, простых чисел. Наиболее известные связи факториала с простыми числами:

Теорема Вильсона (1770): число p является простым тогда и только тогда, когда (p−1)! ≡ −1 (mod p). Другими словами, (p−1)! + 1 делится на p для любого простого p. Например: (5−1)! + 1 = 24 + 1 = 25, и 25 делится на 5. Хотя теорема Вильсона элегантна, она не используется для проверки простоты на практике из-за огромных значений факториала.

Формула Лежандра позволяет определить наибольшую степень простого числа p, делящую n!: νₚ(n!) = Σ ⌊n/pᵏ⌋ для k от 1 до ∞. Например, наибольшая степень 2, делящая 10!: ⌊10/2⌋ + ⌊10/4⌋ + ⌊10/8⌋ = 5 + 2 + 1 = 8, то есть 10! делится на 2⁸ = 256, но не на 2⁹.

Количество нулей в конце n! определяется наибольшей степенью 10 = 2 × 5, делящей n!. Поскольку двоек всегда больше, чем пятёрок, количество нулей равно: ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + … Например, 100! оканчивается на ⌊100/5⌋ + ⌊100/25⌋ + ⌊100/125⌋ = 20 + 4 + 0 = 24 нуля.

Факториальная простая числа (factorial prime) — простое число вида n! ± 1. Например, 5! − 1 = 119 = 7 × 17 (не простое), но 5! + 1 = 121 = 11² (тоже не простое), а вот 7! − 1 = 5039 — простое число. Поиск больших факториальных простых — активная область вычислительной теории чисел.

Таблица значений факториалов

Для справки приводим точные значения факториалов от 0! до 25!. Знание факториалов малых чисел ускоряет решение комбинаторных задач и позволяет быстро проверять ответы без калькулятора.

nn!Цифр
011
111
221
361
4242
51203
67203
75 0404
840 3205
9362 8806
103 628 8007
1139 916 8008
12479 001 6009
136 227 020 80010
1487 178 291 20011
151 307 674 368 00013
1620 922 789 888 00014
17355 687 428 096 00015
186 402 373 705 728 00016
19121 645 100 408 832 00018
202 432 902 008 176 640 00019
2515 511 210 043 330 985 984 000 00026

Обратите внимание на стремительный рост: если 10! имеет 7 цифр, то 25! — уже 26 цифр. Для 100! количество цифр составляет 158, а для максимального вычисляемого нашим калькулятором значения 170! — 307 цифр. Такие гигантские числа возникают в реальных задачах: например, количество возможных перестановок в колоде из 52 карт равно 52! ≈ 8,07 × 10⁶⁷ — число с 68 цифрами, превышающее количество атомов в наблюдаемой Вселенной (≈ 10⁸⁰).

Вычисление факториала на компьютере — алгоритмы и оптимизации

В программировании факториал — каноническая учебная задача, иллюстрирующая концепции итерации и рекурсии. Итеративный алгоритм использует цикл: начинаем с result = 1 и последовательно умножаем на 2, 3, …, n. Рекурсивный алгоритм вызывает самого себя: factorial(n) = n × factorial(n−1) с базовым случаем factorial(0) = 1.

На практике итеративный подход предпочтительнее по нескольким причинам: он не создаёт глубоких стеков вызовов (для n = 10 000 рекурсивный подход вызовет переполнение стека), использует O(1) дополнительной памяти и работает быстрее. Наш калькулятор использует именно итеративный алгоритм с типом BigInt в JavaScript, который поддерживает целые числа произвольной точности.

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

Для вычисления факториалов очень больших чисел (n > 10⁶) применяются алгоритмы с субквадратичной сложностью, основанные на простом разложении (prime swing algorithm) и быстром умножении больших чисел (алгоритмы Карацубы, Тума-Кука, Шёнхаге-Штрассена). Эти алгоритмы позволяют вычислить 10⁶! за несколько секунд на современном компьютере.

Двойной факториал и другие обобщения

Двойной факториал n!! — произведение всех натуральных чисел от 1 (или 2) до n с шагом 2. Для нечётного n: n!! = n × (n−2) × (n−4) × … × 3 × 1. Для чётного n: n!! = n × (n−2) × (n−4) × … × 4 × 2. Примеры: 7!! = 7 × 5 × 3 × 1 = 105, 8!! = 8 × 6 × 4 × 2 = 384. По определению, 0!! = 1!! = 1.

Связь двойного факториала с обычным: для чётного n = 2m имеем (2m)!! = 2ᵐ × m!. Для нечётного n = 2m+1: (2m+1)!! = (2m+1)! / (2ᵐ × m!). Двойной факториал встречается в формулах для объёма n-мерных шаров, в квантовой механике (матричные элементы гармонического осциллятора) и в комбинаторных тождествах.

Субфакториал !n (или D(n)) — количество беспорядков (derangements), то есть перестановок n элементов, при которых ни один элемент не остаётся на своём месте. Формула: !n = n! × Σ (−1)ᵏ / k! для k от 0 до n. Например, !3 = 3! × (1 − 1 + 1/2 − 1/6) = 6 × 1/3 = 2 (перестановки {2,3,1} и {3,1,2}). С ростом n доля беспорядков стремится к 1/e ≈ 0,3679.

Факториал падающий и восходящий — обобщения, используемые в комбинаторике и теории специальных функций. Падающий факториал: (x)ₙ = x × (x−1) × … × (x−n+1), совпадает с A(x,n) при натуральном x. Восходящий факториал (символ Похгаммера): x⁽ⁿ⁾ = x × (x+1) × … × (x+n−1). Эти обобщения связаны с числами Стирлинга и играют важную роль в теории разностных уравнений.

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

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

Задача о днях рождения (парадокс дней рождения): какова вероятность того, что в группе из k человек хотя бы двое имеют одинаковый день рождения (год не учитывается, 365 дней)? Вероятность того, что все дни рождения различны: P = 365! / ((365−k)! × 365ᵏ). Для k = 23 эта вероятность ≈ 0,493, то есть вероятность совпадения уже превышает 50%. Для k = 50 вероятность совпадения ≈ 97%.

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

Биномиальное распределение: P(k) = C(n,k) × pᵏ × (1−p)ⁿ⁻ᵏ = n! / (k! × (n−k)!) × pᵏ × (1−p)ⁿ⁻ᵏ. Описывает вероятность k успехов в n независимых испытаниях Бернулли. Например, вероятность выбросить ровно 3 шестёрки в 10 бросках кубика: P = C(10,3) × (1/6)³ × (5/6)⁷ ≈ 0,155.

Факториал в задачах ОГЭ и ЕГЭ по математике 2026

Факториал и основанные на нём комбинаторные формулы включены в программу подготовки к ЕГЭ по математике (профильный уровень). Задачи на факториал встречаются в заданиях на комбинаторику и теорию вероятностей. Типичные экзаменационные задания:

  • Подсчёт перестановок: сколькими способами можно расставить 6 книг на полке? Ответ: 6! = 720.
  • Сочетания: сколькими способами можно выбрать 4 человека из 9 для команды? Ответ: C(9,4) = 9! / (4! × 5!) = 126.
  • Перестановки с повторениями: сколько различных буквенных цепочек можно составить из букв слова «КОЛОКОЛ»? В слове 7 букв: К — 2, О — 3, Л — 2. Ответ: 7! / (2! × 3! × 2!) = 210.
  • Задачи на вероятность: в урне 5 красных и 3 синих шара. Наугад извлекают 3 шара. Какова вероятность, что все — красные? P = C(5,3) / C(8,3) = 10 / 56 = 5/28.
  • Упрощение выражений с факториалами: упростите (n+1)! / (n−1)! = (n+1) × n × (n−1)! / (n−1)! = n(n+1).

Совет для подготовки: выучите значения факториалов от 0! до 10! наизусть, а также запомните основные комбинаторные формулы. Умение быстро вычислять биномиальные коэффициенты сэкономит время на экзамене. Наш калькулятор поможет проверить ответы при самостоятельной подготовке.

Источники

  • Виленкин Н. Я. «Комбинаторика» — классический учебник по комбинаторному анализу с подробным изложением факториала
  • Фихтенгольц Г. М. «Курс дифференциального и интегрального исчисления» — гамма-функция и связь с факториалом
  • Кнут Д. «Искусство программирования. Том 1» — алгоритмы вычисления факториала и комбинаторные тождества
  • Колмогоров А. Н. «Алгебра и начала математического анализа. 10–11 классы» — комбинаторика и биномиальные коэффициенты
  • Graham R., Knuth D., Patashnik O. «Concrete Mathematics» — формула Стирлинга, числа Стирлинга, обобщения факториала

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

Что такое факториал числа?
Факториал числа n (обозначается n!) — это произведение всех натуральных чисел от 1 до n включительно. Например, 5! = 5 × 4 × 3 × 2 × 1 = 120. По определению, 0! = 1. Факториал определён только для неотрицательных целых чисел. Это одна из фундаментальных функций в математике, широко используемая в комбинаторике, теории вероятностей, математическом анализе и программировании.
Почему 0! = 1?
Значение 0! = 1 принято по определению, и оно согласуется со многими математическими формулами. Во-первых, рекурсивная формула n! = n × (n−1)! при n = 1 даёт 1! = 1 × 0!, откуда 0! = 1. Во-вторых, в комбинаторике C(n, 0) = n! / (0! × n!) = 1 — существует ровно один способ выбрать 0 элементов из n, что требует 0! = 1. Также пустое произведение (произведение нуля множителей) по соглашению равно 1.
Почему калькулятор ограничен числом 170?
Ограничение n ≤ 170 связано с максимальным значением числа с плавающей запятой в JavaScript (и стандарте IEEE 754). Число 170! ≈ 7,26 × 10³⁰⁶ — это наибольший факториал, который помещается в тип Number (максимум ≈ 1,8 × 10³⁰⁸). Значение 171! ≈ 1,24 × 10³⁰⁹ уже превышает Number.MAX_VALUE и возвращает Infinity. Однако для точного вычисления наш калькулятор использует BigInt, который позволяет работать с произвольно большими целыми числами.
Как факториал используется в комбинаторике?
Факториал — основа комбинаторных формул. Число перестановок n элементов равно n!. Число размещений из n по k: A(n,k) = n! / (n−k)!. Число сочетаний (биномиальный коэффициент): C(n,k) = n! / (k! × (n−k)!). Например, количество способов рассадить 10 гостей за столом: 10! = 3 628 800 вариантов. Количество способов выбрать 3 из 10: C(10,3) = 10! / (3! × 7!) = 120.
Что такое гамма-функция и как она связана с факториалом?
Гамма-функция Γ(z) — обобщение факториала на комплексные и действительные числа. Связь с факториалом: Γ(n+1) = n! для неотрицательных целых n. Определяется интегралом Γ(z) = ∫₀^∞ t^(z−1) × e^(−t) dt для Re(z) > 0. Благодаря гамма-функции можно вычислить «факториал» дробного числа: Γ(1/2) = √π ≈ 1,7725, что соответствует (−1/2)! = √π. Гамма-функция была введена Леонардом Эйлером в 1729 году.
Как быстро растёт факториал?
Факториал растёт быстрее любой показательной функции: n! >> aⁿ для любого фиксированного a при достаточно большом n. Приближённая оценка даётся формулой Стирлинга: n! ≈ √(2πn) × (n/e)ⁿ. Для примера: 10! = 3 628 800 (7 цифр), 20! = 2 432 902 008 176 640 000 (19 цифр), 50! имеет 65 цифр, 100! — 158 цифр, а 170! — уже 307 цифр. Такой стремительный рост делает прямой перебор всех перестановок невозможным уже для сравнительно небольших n.
Можно ли вычислить факториал отрицательного числа?
Факториал определён только для неотрицательных целых чисел (0, 1, 2, 3, …). Для отрицательных целых чисел факториал не существует. Однако гамма-функция Γ(z), обобщающая факториал, определена для всех комплексных чисел, кроме неположительных целых (0, −1, −2, …), где она имеет полюсы. Поэтому Γ(−0.5) = −2√π ≈ −3,5449 корректно определено, но Γ(0) или Γ(−1) — нет.
Где применяется факториал помимо комбинаторики?
Факториал используется во множестве областей: в теории вероятностей (распределения Пуассона, биномиальное), в математическом анализе (ряды Тейлора: eˣ = Σ xⁿ/n!, sin x = Σ (−1)ⁿ × x^(2n+1)/(2n+1)!), в теории чисел (теорема Вильсона: (p−1)! ≡ −1 (mod p) для простого p), в криптографии (оценка сложности перебора), в физике (квантовая механика, статистическая физика), в программировании (рекурсивные алгоритмы, динамическое программирование).