透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

同一天生日的機率 p(n)
70.6316%
in a group of 30 people
Probability all birthdays differ p̄(n) 29.3684%
群體人數 n 30 people
假設條件 365 天、每天機率相等、不計閏年

什麼是生日悖論?

生日悖論(又稱生日問題)提出了一個看似簡單的問題:在一群 \(n\) 個人之中,至少有兩個人同一天生日的機率是多少?令人意外的答案是——只要 23 個人,這個機率就會超過 50%;而只要 70 個人,機率更會飆破 99.9%。之所以讓人覺得不可思議,是因為大家直覺上都拿「自己的生日」去和別人比,但事實上,群體裡的每一對組合都是一次配對成功的機會。

機率隨人數上升的曲線,在約23人處越過50%
生日相同的機率急劇上升,僅23人就超過了50%。

如何使用這個計算器

輸入群體人數 n(總共幾個人),就能讀取至少有一對人同一天生日的機率 \(p(n)\),以百分比顯示。結果表格也會列出互補機率,也就是所有人生日都不同的機率。本計算器假設一年為 365 天、每一天的機率都相等,並且不計入閏年 2 月 29 日出生的情況。

公式解析

最簡單的算法,是先計算「沒有任何人同一天生日」的機率,再用 1 去減。第一個人的生日可以是任何一天(365/365);第二個人必須避開第一個人(364/365);第三個人要避開前兩個人(363/365),以此類推:

$$\bar{p}(n) = \frac{365}{365} \times \frac{364}{365} \times \cdots \times \frac{365 - n + 1}{365}$$

接著,至少有一對人同一天生日的機率就是

$$p(n) = 1 - \bar{p}(n)$$

我們以逐步連乘的方式計算這個乘積,以避免階乘運算造成數值溢位。

Advertisement
展示補集方法的示意圖:用1減去所有人生日都不同的機率
這個公式先算出所有人生日都不同的機率,再用1減去它。

實例演算

以 \(n = 23\) 為例,將這 23 個分數相乘可得 \(\bar{p}(23) \approx 0.492703\),因此 \(p(23) = 1 - 0.492703 \approx 0.5073\),約為 50.73%——剛好比擲硬幣的機率高一點。若以預設的 \(n = 30\) 來算,\(\bar{p}(30) \approx 0.293684\),得出 \(p(30) \approx\) 70.63%

常見問題

為什麼這麼少人就能成立?因為 23 個人總共可以組成 253 種不同的配對,而每一種配對都是一次全新的「撞生日」機會。

當人數達到 366 人會怎樣?根據鴿籠原理(抽屜原理),一年只有 365 天,所以一定會有兩個人同一天生日,機率剛好就是 100%。

有把閏年算進去嗎?沒有。本模型採用 365 天、每天機率相等,並排除 2 月 29 日,這樣才能維持經典結果的簡潔與準確。

最後更新: