這個工具的用途
隨機分組產生器可以把一份名單盡量平均地分成你指定的隊伍數。系統會先隨機洗牌打亂順序,再把名單切分成若干組:部分組別人數較多,其餘組別人數較少,因此任何兩組之間的差距都不會超過一個人。
使用方式
輸入總人數,以及你想分成幾組。計算器會回傳每組人數的範圍、最大組與最小組的人數,並在無法整除時,明確告訴你有幾組會多分到一個人。
計算公式說明
假設有 \(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$$$$\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 組。\(\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\)。✓
常見問題
每組人數一定會相同嗎?只有在人數能被組數整除時才會完全相同;否則各組人數最多相差一個人。
如果組數比人數還多怎麼辦?組數會被限制在人數以內,確保每一組至少有一個人。
分配是隨機的嗎?系統會先把名單隨機洗牌,再依序切分,因此成員分配是隨機的,但各組人數仍維持均衡。