透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

產生的隨機數
418, 878, 472, 147, 636, 785, 401, 355, 327, 123, 261, 383, 457, 319, 674, 134, 615, 616, 359, 858, 843, 373, 629, 426, 233, 262, 613, 97, 273, 836, 759, 486, 760, 83, 961, 606, 53, 106, 105, 20, 610, 82, 869, 176, 29, 955, 426, 913, 258, 131
範圍(含上下限) 1 to 1000
可用的相異整數數量(N) 1,000
產生的數量 50

這個工具的用途

整數均勻分布隨機數產生器會在你設定的範圍(含上下限)內,產生一組均勻分布的隨機整數。所謂「均勻分布」,是指下限到上限之間的每一個整數出現的機率都完全相同。你可以自行決定要產生幾個數字,以及同一個數值是否可以重複出現。這項工具非常適合用來模擬樂透選號、骰子與遊戲擲點、從資料集中抽樣、分配編號(ID)、A/B 測試分組,以及課堂上的統計教學示範。

使用方式

在「起始範圍」欄位輸入下限,在「至」欄位輸入上限(可填入 1 到 100000 之間的任意整數)。在「數量」欄位設定你想產生幾個數字(1 到 100 個)。若要允許重複(即放回抽樣),請選擇「允許」;若要每個結果都不重複(即不放回抽樣),請選擇「不允許」。如果你不小心把上下限填反了,工具會自動幫你對調。

公式解析

範圍 \([\text{lo}, \text{hi}]\) 共包含 \(N = \text{hi} - \text{lo} + 1\) 個相異整數。單次抽取的公式為

$$r = \text{lo} + \left\lfloor U \times N \right\rfloor$$

其中 \(U\) 是介於 \([0, 1)\) 之間的均勻隨機實數。將 \(U\) 乘以 \(N\) 再取下高斯函數(向下取整),會得到 \(0\) 到 \(N-1\) 的整數,接著再加上 \(\text{lo}\) 平移到正確的起點。如此可保證每一個候選數值出現的機率恰好為 \(\frac{1}{N}\)。在允許重複的模式下,工具會針對每一個要求的數字獨立重複進行抽取。在不允許重複的模式下,工具會持續抽取並捨棄已經選過的數值,直到收集到要求的相異數字數量為止——因此數量不可超過 \(N\)。

Advertisement
Diagram mapping a continuous unit interval U from 0 to 1 into N equal segments, each pointing to one integer outcome
A uniform value U in [0,1) is scaled and floored to land in one of N equal slots.
Flat number line showing an inclusive integer range from lo to hi with evenly spaced equal-height bars indicating equal probability
Each integer in the inclusive range lo..hi has an equal chance of being chosen.

範例說明

範圍 1 到 6、數量 5、允許重複:每次抽取為

$$r = 1 + \left\lfloor U \times 6 \right\rfloor$$

效果就像擲一顆六面骰子。可能的結果是 4、1、6、4、2(其中 4 重複出現,這在此模式下是允許的)。若選擇不允許重複,則會得到五個相異數值,例如 3、5、1、6、2。但若想從 1 到 6 中取出 7 個相異數值則無法達成,因為其中只有六個整數可選。

常見問題

為什麼每次得到的結果都不一樣?這個產生器是非確定性的;每次執行都會重新抽取全新的隨機數值,因此結果本來就會不同,這是設計上的特性。

下限和上限可以相同嗎?可以。如果兩者相同,則 \(N = 1\),唯一可能的數值就是該數字本身。

如果我要求的相異數字比實際存在的還多會怎樣?在「不允許」模式下,工具會回報錯誤,因為沒有足夠的相異整數可以滿足你的需求。

最後更新: