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

Діапазон: 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)

Поділіться своєю думкою — будь ласка, будьте ввічливі та по темі.

Поки немає коментарів. Залиште коментар — поділіться своєю думкою!

Щоб залишити коментар, увійдіть в акаунт.

Увійдіть, щоб коментувати