機率計算機 — 基本機率、排列、組合、骰子
四種模式集於一體:從有利結果和總結果計算基本機率、排列nPr、組合nCr,以及多個骰子擲出特定總點數的機率。結果以分數、小數、百分比和賠率形式呈現。
- 分數
- 1/2
- 小數
- 0.5
- 支持賠率
- 1:1
- 反對賠率
- 1:1
運作原理
基本機率、賠率及其區別
機率是有利結果與等可能總結果之比:P = 有利結果 / 總結果。範圍從0(不可能)到1(確定),通常以百分比表示。對於一個公平的六面骰子,擲出4點的機率為1/6 ≈ 16.667%。
賠率是表達同一資訊的另一種方式。事件發生的「支持賠率」為有利:不利,因此擲出4的賠率為1:5。「反對賠率」相反:5:1。賠率在體育博彩和紙牌遊戲中常用,機率在統計學和科學中更為普遍。
本計算機自動將分數化簡為最簡分數,並並排顯示小數和百分比形式,方便在不同表示方式之間轉換。
排列與組合的區別
兩者都涉及從n個中選取r個,但排列中順序有意義,組合中順序無關。排列nPr = n! / (n − r)! 計算有序排列數。組合nCr = n! / (r! × (n − r)!) 計算無序子集數。
範例:從{A, B, C}中選2個字母。排列:AB, BA, AC, CA, BC, CB — 6個有序對,nPr = 3! / 1! = 6。組合:AB, AC, BC — 3個無序子集,nCr = 3! / (2! × 1!) = 3。由於每個組合產生r!個排列,因此nPr = nCr × r! 恆成立。
支援的最大n為170。超過此值,n!將超出JavaScript浮點數範圍(約1.8 × 10³⁰⁸)。對於非常大的n或r,請考慮使用對數計算或符號計算函式庫。
骰子機率與乘法法則
擲多個相同骰子時,每個骰子相互獨立。總結果數為面數的骰子數次方(面數^骰子數)。達到特定總點數的方式數透過計算組合數求得:將總點數分配給所有骰子,使每個骰子顯示1到面數之間的值。
本計算機使用動態規劃精確計算給定目標總點數的組合方式數。例如,擲2d6(兩個六面骰子)得到總點數7:有6種方式(1+6, 2+5, 3+4, 4+3, 5+2, 6+1),共36種,機率為6/36 = 1/6 ≈ 16.667%。
支援的骰子類型:d4、d6、d8、d10、d12、d20(標準桌遊RPG骰子)。骰子數量為1到6。目標總點數必須在骰子數(全為1)到骰子數×面數(全為最大值)之間。
常見問題
›排列和組合有什麼區別?
排列計算有序排列(AB ≠ BA);組合計算無序子集(AB = BA)。nPr = n! / (n−r)!;nCr = n! / (r! × (n−r)!)。當r > 1時,nPr ≥ nCr 恆成立。
›為什麼n限制為170?
JavaScript使用64位元IEEE 754浮點數。170! ≈ 7.26 × 10³⁰⁶可以用雙精度表示;171!會溢位為Infinity。如需更大的階乘,請使用BigInt或基於對數的方法。
›賠率與機率有何不同?
機率 P = 有利結果 / 總結果。支持賠率 = 有利 : 不利 = P : (1−P)。反對賠率 = 不利 : 有利。25%的機率對應支持賠率1:3(或反對賠率3:1)。
›0!等於多少?
依照慣例,0! = 1。這使得當r = 0或r = n時,nCr和nPr的公式保持一致性。
›能計算擲出至少某個總點數的機率嗎?
此工具無法直接計算。對於「至少」的機率,請將從最小值到最大值(骰子數×面數)的所有精確機率相加。骰子分頁可給出每個特定總點數的精確機率。
›nC0或nCn等於多少?
兩者都等於1。選擇0個元素只有一種方式(空集),選擇全部元素也只有一種方式。
›大階乘的計算結果準確嗎?
對於n ≤ 170,結果在浮點表示範圍內準確。當n接近170時,由於除法中的浮點捨入,最後幾位可能存在較小的相對誤差。
›資料會離開我的瀏覽器嗎?
不會。所有計算均在JavaScript本地執行,不會向伺服器傳輸任何資料。
相關工具
最後更新: