这个工具能做什么
随机分组器可以把一份人员名单尽可能均匀地分成你指定的组数。它会先把名字随机打乱,再依次划分到各组:一部分组人数较多,其余组人数较少,确保任意两组之间的人数差不会超过一个人。
使用方法
输入总人数和你想分的组数,工具会给出每组的人数范围、最大组与最小组的人数,以及当人数无法整除时,到底有几个组会多分到一个人。
公式说明
设有 \(n\) 个人、分成 \(g\) 个组,则最小组人数为 \(\lfloor n/g \rfloor\)(向下取整),最大组人数为 \(\lceil n/g \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$$
实例演算
把 23 个人分成 4 组。\(\lfloor 23/4 \rfloor = 5\),\(\lceil 23/4 \rceil = 6\),所以每组是 5 人或 6 人。余数为 \(23 \bmod 4 = 3\),因此有 3 个组各 6 人,1 个组 5 人。验算:
$$3 \times 6 + 1 \times 5 = 18 + 5 = 23 \checkmark$$常见问题
各组人数总是相等吗?只有当人数能被组数整除时才相等。否则各组人数最多相差一个人。
如果组数比人数还多怎么办?组数会被限制在人数以内,保证每个组至少有一个人。
分配是随机的吗?模型会先把名字打乱,再依次划分,因此成员是随机的,而各组人数依然保持均衡。