什麼是隨機數字與字母組合產生器?
這個工具能從你自訂的範圍中,隨機抽出一個或多個項目。範圍可以是數字(例如 1-100),也可以是字母(例如 a-j)。無論是抽樣、抽籤、產生 PIN 碼、隨機挑選測驗題目、分組分隊,或任何需要從已知集合中做出公平隨機選擇的情境,它都能派上用場。
使用方法
先輸入抽取數量(你想要幾個項目),再以「起始值-結束值」的格式填入抽樣範圍。接著選擇是否允許重複(即放回式抽樣),以及項目之間是否要加上逗號。按下計算,就能得到一組隨機排序的全新結果。
當範圍兩端都是整數時,工具會以數字模式運作;當兩端都是單一字母時,則以字母模式運作,並保留第一個字母的大小寫。
公式與演算法
候選母體涵蓋範圍(含端點)內的每一個值:數字模式下為從最小值到最大值的所有整數,共 最大值 − 最小值 + 1 個;字母模式下則為從較小到較大字元編碼之間的每一個字元。每個項目都以均勻機率選出,索引 = \(\lfloor \text{random} \times \text{剩餘數量} \rfloor\)。在不允許重複時,會先將整個母體洗牌(Fisher-Yates 演算法),再取前 N 個項目,因此每個結果都不會重複。允許重複時,每次抽取彼此獨立,結果可能出現重複。
$$\begin{gathered} \text{Draw} = \text{Sample Size} \ \text{items from a population of size } N \\[1.5em] \text{where}\quad \left\{ \begin{aligned} N &= |\,\text{high} - \text{low}\,| + 1 \\ [\text{low},\text{high}] &= \text{Sample Range} \end{aligned} \right. \end{gathered}$$
實際範例
抽取數量 5、範圍 1-100、不允許重複、不加逗號。母體為 1 到 100 的整數(共 100 個值)。五次不重複的均勻抽取可能得到:48 50 62 18 10。若開啟逗號,同一組結果會顯示為 48, 50, 62, 18, 10。
常見問題
如果我要的項目比範圍內的數量還多怎麼辦?在關閉重複的情況下,結果數量會受限於範圍大小。例如想從 0-9 抽出 12 個不重複的數字,最多只會回傳 10 個項目。
結果會排序嗎?不會。項目會依照抽出的隨機順序呈現。
如何產生 4 位數 PIN 碼?將抽取數量設為 4、範圍設為 0-9;若要四個不重複的數字就關閉重複,若允許數字重複則開啟重複。