Что делает этот инструмент
Генератор случайных команд делит список участников на заданное количество команд максимально равномерно. Сначала имена перемешиваются в случайном порядке, а затем список разбивается на группы: одни группы получают больший размер, а остальные — меньший. В итоге ни одна команда не оказывается больше другой более чем на одного человека.
Как пользоваться
Укажите общее число участников и нужное количество групп. Калькулятор покажет диапазон «человек на группу», размеры самой большой и самой маленькой группы, а также точное число групп, которым достаётся дополнительный участник, если поделить поровну не получается.
Разбор формулы
Для n человек и g групп размер наименьшей группы равен \(\left\lfloor n/g \right\rfloor\) (целая часть от деления), а наибольшей — \(\left\lceil n/g \right\rceil\) (округление вверх). Остаток \(r = n \bmod g\) показывает, сколько групп получат на одного человека больше. Эти r групп будут более крупными, а оставшиеся \(g - r\) групп — меньшими. Если n делится на g нацело, остаток равен 0 и все группы получаются одного размера.
$$\text{Min Size} = \left\lfloor \frac{\text{People}}{\text{Groups}} \right\rfloor, \quad \text{Max Size} = \left\lceil \frac{\text{People}}{\text{Groups}} \right\rceil$$ $$\text{where}\quad \left\{ \begin{aligned} \text{Larger Groups} &= \text{People} \bmod \text{Groups} \\ \text{Smaller Groups} &= \text{Groups} - \left(\text{People} \bmod \text{Groups}\right) \end{aligned} \right.$$
Пример расчёта
Разделим 23 человека на 4 группы. \(\left\lfloor 23/4 \right\rfloor = 5\) и \(\left\lceil 23/4 \right\rceil = 6\), значит в группах будет по 5 или 6 человек. Остаток составляет \(23 \bmod 4 = 3\), поэтому 3 группы получают по 6 человек, а 1 группа — 5. Проверка:
$$3\times6 + 1\times5 = 18 + 5 = 23 \;✓$$Частые вопросы
Команды всегда равны по числу участников? Только когда число людей делится на число групп без остатка. В остальных случаях размеры отличаются не более чем на одного человека.
Что если групп запрошено больше, чем людей? Количество групп ограничивается числом участников, чтобы в каждой группе был хотя бы один человек.
Распределение действительно случайное? Модель сначала перемешивает имена, а затем последовательно распределяет их по группам. Таким образом состав команд формируется случайно, а их размеры остаются сбалансированными.