Рассадка гостей за праздничным столом или расстановка книг на полке - это не абстрактная задача из учебника, а самая обычная комбинаторика в чистом виде. Меняете местами двух людей - получаете другую рассадку, даже если состав гостей тот же самый. Именно поэтому здесь работает формула размещений, а не сочетаний: порядок объектов имеет значение. Калькулятор выше считает точное число вариантов для любого количества объектов и мест.
Расстановка всех объектов - частный случай размещения
Формула размещений в общем виде выглядит так: A(n,r) = n! / (n-r)!, где n - общее число объектов, а r - сколько из них нужно расставить по местам. Если расставить нужно вообще все объекты, r равен n, и формула упрощается: A(n,n) = n! / (n-n)! = n! / 0! = n! (поскольку 0! равен 1).
Отсюда и получается простое правило: чтобы посчитать число способов расставить n разных объектов в ряд, по местам или в очередь, достаточно вычислить факториал n. Это n × (n-1) × (n-2) × … × 2 × 1.
Пример 1: рассадка 5 гостей за столом на 5 мест
Представим, что за круглым столом ровно 5 мест и 5 гостей, каждое место индивидуально - не важно, круглый стол или прямоугольный, места всё равно различаются по расположению. Считаем по формуле n!:
5! = 5 × 4 × 3 × 2 × 1 = 120
Первого гостя можно посадить на любое из 5 мест. После этого для второго гостя остаётся 4 свободных места, для третьего - 3, для четвёртого - 2, а последнему достаётся единственное оставшееся. Перемножив эти числа, получаем 120 - именно столько разных рассадок можно составить из одной и той же компании.
Пример 2: расстановка 8 книг на полке
Тот же принцип применим к книгам, папкам, инструментам - к чему угодно, что можно выстроить в ряд. Если на полке 8 разных книг и нужно расставить их все, вариантов будет:
8! = 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 40320
Число выглядит неожиданно большим для всего восьми предметов, и это хорошая иллюстрация того, как быстро растёт факториал. Добавьте девятую книгу - и вариантов станет уже 362880, в девять раз больше. Каждый новый объект умножает результат на своё количество, поэтому рост нелинейный и очень крутой.
Пример 3: частичная рассадка на почётные места
Не всегда нужно рассаживать всех сразу. Допустим, на мероприятие приглашено 10 гостей, но почётных мест у стола всего 4: во главе стола, по правую и левую руку от хозяина и место у окна. Нужно выбрать 4 гостей из 10 и рассадить их по этим конкретным местам - здесь работает уже не частный случай n!, а полная формула размещения:
A(10,4) = 10 × 9 × 8 × 7 = 5040
На первое почётное место можно поставить любого из 10 гостей. На второе - любого из оставшихся 9, на третье - любого из 8, на четвёртое - любого из 7. Итог - 5040 различных вариантов рассадки только для четырёх мест, хотя гостей вдвое больше.
Для чего это пригождаётся на практике
Планирование мероприятий - самый очевидный случай: организатор банкета или свадьбы может заранее прикинуть, сколько существует принципиально разных рассадок, и понять, что перебирать варианты вручную бессмысленно, нужна система (карточки с именами, план стола, программа для рассадки).
Оценка числа кодов и паролей без повторяющихся символов - ещё одна область, где нужна именно формула размещения. Если пароль состоит из 4 разных цифр без повторов, вариантов A(10,4) = 5040, а не 10000, как было бы при разрешённых повторах. Разница ощутимая, и её стоит учитывать при оценке стойкости кода.
Построение очереди или порядка выступлений тоже подчиняется этой же логике. Сколько существует способов выстроить в очередь 6 человек, если важен именно порядок, а не просто состав группы - это 6! = 720, и никаких сочетаний тут не считается, потому что первый в очереди и последний - совсем не одно и то же.
Как пользоваться калькулятором
Выберите режим «Размещения (порядок важен)», введите общее число объектов n и число объектов для расстановки r. Если нужно расставить все объекты подряд - книги на полке, гостей за столом, участников в очереди - введите одинаковое значение в оба поля, и калькулятор посчитает n!. Если расставляется только часть объектов, как в примере с почётными местами, введите в r меньшее число - результат покажет точное количество вариантов A(n,r).