CCalculate.Studio

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

Факториал неотрицательного целого числа n, обозначаемый n!, — это произведение всех натуральных чисел от 1 до n. Калькулятор вычисляет n! точно для n до 18 и в научной записи для n до 170, а также показывает количество нулей в конце записи числа и натуральный логарифм n!.

Последняя проверка: 2026-07-07
Add as preferred on Google

Насколько быстро растёт факториал

Рост факториала быстро обгоняет показательный рост, что видно из таблицы точных и приближённых значений ниже.

nn!Порядок величины
011
51201,2 × 10²
103 628 8003,6 × 10⁶
151 307 674 368 0001,3 × 10¹²
186 402 373 705 728 0006,4 × 10¹⁵
202 432 902 008 176 640 0002,4 × 10¹⁸
  • 18! (≈6,40 × 10¹⁵) — наибольший факториал, не превышающий предел безопасных целых, поскольку значение Number.MAX_SAFE_INTEGER в JavaScript равно 2⁵³ − 1 ≈ 9,007 × 10¹⁵; поэтому калькулятор показывает точное значение только до n = 18. За этим пределом факториалы остаются точно представимыми числами двойной точности вплоть до 22!, так как каждый из них содержит множество множителей 2, а 23! — первый, который округляется.
  • Для n от 19 до 170 выводится только приближение в научной записи (и ln(n!)), так как точное целое значение потребовало бы большей точности, чем даёт стандартная арифметика с плавающей точкой без библиотеки длинной арифметики.
  • При n больше 170 значение n! превосходит наибольшее число, представимое в стандартной двойной точности (примерно 1,8 × 10³⁰⁸), и переполняется до бесконечности, поэтому калькулятор ограничивает n значением 170.

Что такое факториал?

Факториал неотрицательного целого числа n, обозначаемый n!, определяется как произведение всех натуральных чисел от 1 до n: n! = n × (n − 1) × (n − 2) × ... × 2 × 1. Например, 5! = 5 × 4 × 3 × 2 × 1 = 120. По определению 0! = 1 (пустое произведение, равное мультипликативной единице) — это стандартное соглашение, принятое во всей комбинаторике.

Факториалы растут чрезвычайно быстро — намного быстрее показательных функций от n. 10! = 3 628 800, а 20! уже превышает 2,4 квинтиллиона (2,43 × 10¹⁸) — это больше числа секунд, прошедших с Большого взрыва. Именно из-за такого взрывного роста факториалы больших n обычно записывают в научной форме, а точные целые значения начиная с некоторого момента становится непрактично выводить.

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

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

  1. Введите целое число n от 0 до 170 (170! близко к наибольшему факториалу, который стандартные числа с плавающей точкой двойной точности способны представить до переполнения в бесконечность).
  2. Посмотрите результат в научной записи — он выводится всегда, независимо от величины n.
  3. Для n ≤ 18 дополнительно выводится точное целое значение n!, поскольку большие факториалы выходят за пределы точно представимых целых чисел в арифметике двойной точности (2⁵³ ≈ 9,007 × 10¹⁵).
  4. Изучите натуральный логарифм n! (он удобен при работе с очень большими факториалами без переполнения) и количество нулей в конце десятичной записи n!.

Как вычисляются факториал, нули в конце и ln(n!)

n! = n × (n − 1) × (n − 2) × ... × 2 × 1, при этом 0! = 1
ln(n!) = Σ ln(k) for k = 1 to n
Число нулей в конце (формула Лежандра) = Σ ⌊n / 5ⁱ⌋ для i = 1, 2, 3, ...
Пример: 10! = 3 628 800 (2 нуля в конце)

Определяющее рекуррентное соотношение — n! = n × (n − 1)! с базовым случаем 0! = 1. Разбор примера: 5! = 5 × 4! = 5 × 4 × 3! = 5 × 4 × 3 × 2! = 5 × 4 × 3 × 2 × 1! = 5 × 4 × 3 × 2 × 1 × 0! = 120 × 1 = 120.

Для больших n натуральный логарифм ln(n!) вычисляется как сумма Σ ln(k) при k от 2 до n — это позволяет избежать переполнения, которое возникло бы при прямом перемножении. Научная запись получается из этой суммы через десятичный логарифм: log₁₀(n!) = ln(n!) ÷ ln(10), где целая часть даёт показатель степени, а дробная (после обратного преобразования 10^x) — мантиссу.

Количество нулей в конце n! равно тому, сколько раз 10 делит n! нацело. Поскольку 10 = 2 × 5, а множителей 2 в факториале всегда больше, чем множителей 5, задача сводится к подсчёту множителей 5 по формуле Лежандра: нулей в конце = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... Разбор примера для 10!: ⌊10/5⌋ = 2, ⌊10/25⌋ = 0, значит у 10! два нуля в конце — это подтверждается значением 10! = 3 628 800.

Типичные ошибки

  • Забывать, что 0! = 1, а не 0: это стандартное математическое соглашение (пустое произведение равно 1), без которого комбинаторные формулы перестали бы работать в граничных случаях.
  • Считать, что факториал можно вычислить точно для сколь угодно больших n в стандартной арифметике: начиная с n = 23 точные целые значения выходят за пределы того, что числа двойной точности представляют без округления.
  • Путать n! (факториал) с nⁿ (n в степени n): факториал перемножает убывающую последовательность целых чисел до 1, а возведение в степень умножает n само на себя n раз; растут они по-разному и быстро расходятся (5! = 120 против 5⁵ = 3125).
  • Вводить отрицательное или нецелое число: в этом элементарном смысле факториал определён только для неотрицательных целых (гамма-функция распространяет понятие на нецелые аргументы, но это отдельная, более сложная формула).

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

Что такое факториал n?

Факториал n (n!) — это произведение всех натуральных чисел от 1 до n. Например, 5! = 5 × 4 × 3 × 2 × 1 = 120. По определению 0! = 1.

Почему 0! равен 1?

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

Насколько быстро растут факториалы?

Факториалы растут быстрее показательных функций от n. 10! составляет около 3,6 миллиона, а 20! уже превышает 2,4 × 10¹⁸ (2,4 квинтиллиона). Именно из-за такого сверхэкспоненциального роста факториалы записывают в научной форме уже при умеренных n и часто приводят как пример чрезвычайно быстрого роста в математике.

Сколько нулей в конце числа 100!?

По формуле Лежандра (сумма ⌊100/5ⁱ⌋) у 100! будет ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24 нуля в конце. Нули в конце возникают из множителей 10 = 2 × 5, и, поскольку множителей 2 в факториале всегда больше, чем множителей 5, достаточно подсчитать только множители 5.

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

В стандартной арифметике двойной точности (её используют JavaScript и большинство калькуляторов) 18! — наибольший факториал, не превышающий предел безопасных целых, поскольку 18! ≈ 6,40 × 10¹⁵ меньше 2⁵³ − 1 ≈ 9,007 × 10¹⁵, а 19! его уже превосходит. За этим пределом факториалы остаются точно представимыми числами двойной точности вплоть до 22!, так как каждый из них содержит множество множителей 2; первым округляется 23!. Бо́льшие факториалы обычно показывают в научной записи.

Источники

  1. NIST Digital Library of Mathematical Functions (DLMF), §5.1 Gamma Function: Factorial Function. dlmf.nist.gov.
  2. Rosen KH. Discrete Mathematics and Its Applications. 8th ed. McGraw-Hill, 2018. (Factorials and combinatorics.)
  3. Graham RL, Knuth DE, Patashnik O. Concrete Mathematics. 2nd ed. Addison-Wesley, 1994. (Legendre's formula for factors in n!.)

Теория чисел · Все калькуляторы

Похожие калькуляторы

Guides & articles