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

Диапазон: 0–170 (ограничение JavaScript)

📊 Результат

5!
=
120
📏 Количество цифр
3
🔟 Концевые нули
1
🔢 Научная запись
1.2e+2

📝 Пошаговый расчёт:

🎨 Визуальное дерево умножения

🎯 Перестановки и сочетания

🔄 Перестановки P(n,r)

Формула: P(n,r) = n!/(n-r)!
60
5!/(5-3)! = 60

💡 Порядок важен: ABC ≠ BAC

🎲 Сочетания C(n,r)

Формула: C(n,r) = n!/(r!(n-r)!)
10
5!/(3!×2!) = 10

💡 Порядок не важен: ABC = BAC

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

n n! Цифр Пример из жизни

💡 Интересные факты

🃏 Перетасовка карт

52! ≈ 8.07 × 10⁶⁷ возможных раскладов. Если бы каждый человек на Земле тасовал колоду раз в секунду со времён Большого взрыва, мы едва бы коснулись этого числа!

🎭 Рассадка в театре

10 человек можно рассадить 10! = 3,628,800 разными способами. Управлять такой логистикой становится экспоненциально сложнее!

📊 0! = 1

По определению 0! = 1. Существует ровно один способ «упорядочить» ноль объектов: ничего не делать! Это обеспечивает согласованность математических формул.

🚀 Темп роста

Факториал растёт быстрее экспоненты! Если 2ⁿ удваивается, то n! умножается на всё большие числа. У 100! — 158 цифр!

Калькулятор факториала — вычисление n! с шагами

🔢 Вычисляйте факториал (n!) для любого числа от 0 до 170. Смотрите пошаговое разложение, перестановки, сочетания и реальные применения.

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

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

Формула факториала

n! = n × (n-1) × (n-2) × ... × 3 × 2 × 1

  • 0! = 1 (по определению)
  • 1! = 1
  • n! = n × (n-1)! (рекурсивное определение)

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

  • 5! = 5 × 4 × 3 × 2 × 1 = 120
  • 10! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 3,628,800
  • 0! = 1 (особый случай)
  • 20! = 2,432,902,008,176,640,000

Почему 0! = 1?

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

Перестановки

P(n,r) = n!/(n-r)!

Количество способов упорядочить r объектов из n различных объектов, когда порядок важен.

  • Пример: P(5,3) = 5!/(5-3)! = 120/2 = 60
  • Применение: места на пьедестале в гонке (1-е, 2-е, 3-е)

Сочетания

C(n,r) = n!/(r!(n-r)!)

Количество способов выбрать r объектов из n различных объектов, когда порядок не важен.

  • Пример: C(5,3) = 5!/(3!×2!) = 120/(6×2) = 10
  • Применение: лотерейные числа, выбор комитета

Концевые нули в n!

Концевые нули появляются из множителей 10 = 2 × 5. Поскольку множителей 2 всегда больше, чем 5, достаточно посчитать множители 5:

Нули = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ...

  • 10! имеет 2 концевых нуля
  • 25! имеет 6 концевых нулей
  • 100! имеет 24 концевых нуля

Применения в реальном мире

  • Криптография: количество возможных ключей шифрования
  • Планирование: способы упорядочить встречи, задачи, события
  • Генетика: возможные последовательности ДНК/белков
  • Вероятность: расчёт шансов в играх, лотереях
  • Информатика: анализ сложности алгоритмов
  • Производство: варианты организации производственной линии
  • Логистика: задачи оптимизации маршрутов

Известные значения факториала

  • 52! ≈ 8.07 × 10⁶⁷ (тасование карт)
  • 70! ≈ 1.2 × 10¹⁰⁰ (превышает число атомов во Вселенной ≈ 10⁸⁰)
  • 100! ≈ 9.3 × 10¹⁵⁷ (158 цифр!)
  • 170! ≈ 7.3 × 10³⁰⁶ (максимум JavaScript)

Приближение Стирлинга

Для больших n вычислять точные факториалы непрактично. Приближение Стирлинга:

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

Это приближение становится точнее при росте n. Для n = 10 ошибка < 1%.

Скорость роста факториала

Факториал растёт намного быстрее экспоненциальных или полиномиальных функций:

  • Полином: n² = 100 при n=10
  • Экспонента: 2ⁿ = 1,024 при n=10
  • Факториал: n! = 3,628,800 при n=10

Двойной факториал

Двойной факториал (n!!) перемножает каждое второе число:

  • n!! = n × (n-2) × (n-4) × ... × 2 или 1
  • 7!! = 7 × 5 × 3 × 1 = 105
  • 8!! = 8 × 6 × 4 × 2 = 384

Субфакториал (дерранжменты)

Субфакториал !n считает перестановки, в которых ни один элемент не остаётся на своём месте:

!n = n! × (1/0! - 1/1! + 1/2! - 1/3! + ... + (-1)ⁿ/n!)

Пример: !3 = 2 (перестановки ABC без совпадений: BCA, CAB)

Реализация в программировании

Итеративный подход:

function factorial(n) {
    let result = 1;
    for (let i = 2; i <= n; i++) {
        result *= i;
    }
    return result;
}
            

Рекурсивный подход:

function factorial(n) {
    if (n === 0 || n === 1) return 1;
    return n * factorial(n - 1);
}
            

💡 Совет: При вычислении перестановок и сочетаний сокращайте общие множители до вычисления, чтобы избежать переполнения. Для C(100,2) = 100!/(2!×98!) вычисляйте (100×99)/2 = 4,950 вместо того, чтобы считать огромные факториалы отдельно!

Комментарии (0)

Оставьте отзыв — пожалуйста, будьте вежливы и по теме.

Пока нет комментариев. Оставьте комментарий — поделитесь своим мнением!

Чтобы оставить комментарий, войдите в аккаунт.

Войти, чтобы комментировать