跳到主要內容

隨機工具 / 012

隨機數字產生器

線上亂數產生器:指定範圍抽隨機整數、可選不重複,另有骰子算式(2d6+3)與台灣樂透選號,用 crypto 亂數加拒絕取樣,結果均勻。

本次結果

尚未產生結果

為什麼做這個

抽號碼、擲骰子、隨機選樂透號碼,其實是同一件事:在一個範圍裡公平地抽數字,差別只在要不要重複、要不要分區。這個工具把三種情境放在同一頁,抽樣用瀏覽器的密碼學亂數並做了偏差修正,不是 Math.random() 取餘數。

這個工具怎麼用

數字範圍:填最小值、最大值與要抽幾個。預設是不重複(不放回),像抽座號、抽獎序號;勾選「可重複」就變成每次獨立的抽法,像連擲骰子。不重複時數量不能超過範圍內的整數個數,例如 1 到 10 最多抽 10 個。

抽座號、抽獎序號或決定順序時,把最小值設為 1、最大值設為總人數,數量填要抽幾個,保持「不重複」,再勾選排序就能直接複製貼上。這個工具只抽整數,沒有排除指定數字、小數或下載檔案的功能;要抽名單裡的人,請用名單隨機抽選。

骰子:寫成「顆數 d 面數」,2d6 是兩顆六面骰,d20 是一顆二十面骰,後面可以接 +3 或 -2 的修正值,桌上角色扮演遊戲常用。結果會列出每一顆的點數、總和,並提醒這組算式的最小與最大值。例如 3d8+5 的總和範圍是 8 到 29。

樂透選號:大樂透從 01 到 49 選 6 個、威力彩第一區 01 到 38 選 6 個加第二區 01 到 08 選 1 個、今彩 539 從 01 到 39 選 5 個。號碼會由小到大排好,方便照著填。每種玩法旁邊都寫了頭獎機率,是由組合數算出來的,大樂透是 1/13,983,816。

隨機選號不會提高中獎機率:每一組號碼的機率完全相同,包括 1 2 3 4 5 6。工具只是幫你省下想號碼的時間,也不能代為投注,與台灣彩券公司無關。

所有抽樣都在你的瀏覽器裡完成,用的是 Web Crypto 的 crypto.getRandomValues。歷程記錄只留在目前分頁,重新整理就清空。

常見問題

抽出來的數字會重複嗎?

看你勾不勾「可重複」。預設不重複,一次抽 5 個就是 5 個相異的數字;勾選後每個數字獨立抽取,可能重複。不管哪一種,兩次按「抽取」之間彼此獨立,前後兩輪出現相同數字是正常的。

範圍可以多大?可以抽負數嗎?

最小值填負數即可。範圍上限約 42 億個整數(2 的 32 次方),一次最多抽 1000 個。不重複抽樣用的是稀疏洗牌,只記錄被換過的位置,範圍再大也不會把整段數字存進記憶體。

跟 Math.random() 有什麼差別?為什麼說結果均勻?

常見寫法是拿亂數取餘數,當上限不能整除亂數範圍時,前面的數字會略微偏多。這裡用 crypto.getRandomValues 取 32 位元亂數,並把超出整除範圍的值丟掉重抽(拒絕取樣),每個數字出現的機率才會真正相同。

骰子算式可以寫成什麼樣子?

「顆數」「d」「面數」,後面可選加減修正值:2d6、d20、4d6、3d8+5、1d10-2,大小寫與空白不拘。顆數最多 100、面數 2 到 1000、修正值最多 10 萬。格式不符時輸入框會標示錯誤,不會亂猜你的意思。

隨機選號真的比較容易中獎嗎?

不會。樂透每一組號碼的中獎機率都一樣,自己想的和隨機選的沒有差別。隨機選號唯一的好處是避開大家常用的生日號碼:萬一中了頭獎,較不容易和很多人均分獎金,但這不影響你中獎的機率。

這個亂數可以拿來做正式抽獎嗎?

一般臨時抽選可以使用,但這個工具沒有第三方公證、可驗證亂數或防竄改紀錄。若抽獎涉及較高價值、法規要求或爭議處理,建議改用符合活動規則與稽核需求的抽獎流程。

隨機數字、亂數、號碼產生器是同一種東西嗎?

在這個工具裡是同一件事:在你指定的整數範圍內抽出數字,用於抽號碼、抽座號、抽獎序號或決定順序。每次最多抽 1000 個,結果可排序後一次複製。它不是統計課本的亂數表,也不產生亂碼或密碼。

可以產生小數或有小數點的亂數嗎?

不行。數字範圍模式只接受整數,最小值、最大值與數量填小數會被擋下並提示。需要小數時,可先抽整數再自行除以 10 或 100 換算。