Калькулятор факториала онлайн
Обновлено: май 2026Вычислите факториал числа n! мгновенно — от 0! до 170!. Пошаговое решение, таблица значений, количество цифр в результате, научная запись для больших чисел.
Что такое факториал — определение и математический смысл
Факториал числа 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!. Знание факториалов малых чисел ускоряет решение комбинаторных задач и позволяет быстро проверять ответы без калькулятора.
| n | n! | Цифр |
|---|---|---|
| 0 | 1 | 1 |
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 6 | 1 |
| 4 | 24 | 2 |
| 5 | 120 | 3 |
| 6 | 720 | 3 |
| 7 | 5 040 | 4 |
| 8 | 40 320 | 5 |
| 9 | 362 880 | 6 |
| 10 | 3 628 800 | 7 |
| 11 | 39 916 800 | 8 |
| 12 | 479 001 600 | 9 |
| 13 | 6 227 020 800 | 10 |
| 14 | 87 178 291 200 | 11 |
| 15 | 1 307 674 368 000 | 13 |
| 16 | 20 922 789 888 000 | 14 |
| 17 | 355 687 428 096 000 | 15 |
| 18 | 6 402 373 705 728 000 | 16 |
| 19 | 121 645 100 408 832 000 | 18 |
| 20 | 2 432 902 008 176 640 000 | 19 |
| 25 | 15 511 210 043 330 985 984 000 000 | 26 |
Обратите внимание на стремительный рост: если 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» — формула Стирлинга, числа Стирлинга, обобщения факториала