0

Калькулятор перестановок і комбінацій (nPr, nCr)

Обчислює nPr (перестановки) і nCr (комбінації) для одних і тих самих n та r, показуючи справжнє скорочення факторіалів крок за кроком у точній арифметиці BigInt.

Buy Me a Coffee at ko-fi.com
Опрацювання... 0%
Зчитування n та r
Розгортання ланцюжка факторіалу
Готово

Результат

Перестановка (nPr) підраховує кількість способів впорядкувати r елементів, обраних із набору з n, коли порядок має значення; комбінація (nCr) підраховує той самий вибір, коли порядок не має значення. Цей калькулятор бере n і r та обчислює обидва значення за один запуск, тож ви одразу бачите, наскільки більше способів впорядкувати групу, ніж просто її обрати.

Більшість калькуляторів обчислюють nPr, знаходячи n! та (n-r)! окремо і ділячи одне на інше — тобто обчислюють величезні факторіали лише для того, щоб потім більшість скоротити. Цей тул одразу уникає цієї витрати: nPr = n × (n-1) × ... × (n-r+1) будується напряму як ланцюжок рівно з r спадних множників, який уже є скороченою формою. Для 8P3 цей ланцюжок — 8 × 7 × 6 = 336, показаний саме так, як людина записала б це вручну. Далі nCr ділить той самий ланцюжок на r! = r × (r-1) × ... × 1 — для 8C3 це 336 ÷ (3 × 2 × 1) = 336 ÷ 6 = 56 — знову як явне ділення, а не прихований факторіал-множник.

Кожен крок використовує BigInt — тип цілих чисел довільної точності у JavaScript, тож жодного округлення з плаваючою комою: n може сягати сотень, а результат лишається точним цілим числом, а не наближенням, яке починає губити розряди, коли звичайні калькуляторні факторіали переповнюють числа з плаваючою комою подвійної точності. Ланцюжки довші за десяток членів показуються скорочено (перші кілька членів, три крапки, останні кілька) — виключно для читабельності: сама арифметика завжди враховує кожен множник.

Перестановки і комбінації постійно трапляються в теорії ймовірностей, статистиці, розрахунках шансів у лотереях і карткових іграх, розкладах і розсадженнях, а також у задачах з комбінаторики. Усе працює локально у вашому браузері — без реєстрації, без звернень до сервера — а повний покроковий розв'язок можна скопіювати як звичайний текст одним кліком для домашнього завдання чи документації.