Размещение
Если коротко, размещение — это когда у тебя есть кучка разных предметов, и ты хочешь взять несколько из них и расставить по местам. Важное уточнение: порядок важен.
То есть «яблоко, груша» — это не то же самое, что «груша, яблоко».
В коде такая операция приходит под именем arrangement(n, k).
Где n — сколько всего предметов, а k — сколько ты хочешь выбрать и расставить по порядку.
Не перепутай с перестановками — там ты тасуешь всё подряд. А здесь — только часть, и при этом с уважением к их очередности.
Что это значит по-математически? Мы берём k разных элементов из множества из n и учитываем каждую возможную расстановку. Получается формула:
A(n, k) = n! / (n - k)!
Если ты не из "секты" «люблю факториалы», поясню по-человечески: мы берём все варианты, как выбрать первый элемент, потом — из оставшихся, вариант для второго, и так далее по убывающей. Вот и весь секрет.
Зачем это всё знать? Да потому что задачи на размещение встречаются постоянно. Захотел рассадить людей по местам — уже задача на размещение. Подбираешь команду, где важен порядок в списке — снова оно. Не говоря уже о всяких олимпиадах и тестах, где без таких штук — никуда.
Так что знай: функция arrangement — штука полезная. Маленькая, но с характером. Помогает упорядочить хаос, когда вариантов — тьма и больше. И мозг говорит: «Стоп, посчитаем». Вот тут она и вступает в игру.
Справка по встроенным функциям
Правила программирования скриптов
Опции программы
Цветовые константы