∫π每天一道数学题
← 返回概率经典例读
概率经典例读 · 第 2 讲 · 2026-10-06 · 约 5 分钟

生日悖论——23 个人就够

一个教室里随便点 23 个人,两两生日撞上的概率刚过半。直觉猜 183,真答案是 23。错的不是你算错了,是你在跟一个不存在的对手比。

English(原书原文)

How many people do we need to have in a room to make it a favorable bet (probability of success greater than 1/2) that two people in the room will have the same birthday?

Since there are 365 possible birthdays, it is tempting to guess that we would need about 1/2 this number, or 183. You would surely win this bet. In fact, the number required for a favorable bet is only 23.

先用一个班演示一遍

不用纸笔,站在讲台上就能做。

"今天谁的生日跟我同一天?请在座的同学看一下自己生日——如果没人跟我一样,我请全班喝汽水。"

结果基本是你掏钱。一个班四五十人,撞上某个具体日子(比如 10 月 4 日)的概率小得可怜,"没人跟我一样"是几乎注定的事。

然后换一句话问:

"班里任意两个同学,生日相同的概率是多少?"

四五十人的班,这个概率接近九成。两句话之间隔着一整个数量级,而学生往往以为它们在问同一件事。

生日悖论的全部机关,就在这两句话的区别里。23 这个数字,问的是第二句。

这道题在问什么

原书问得很干净:一个房间里要多少人,押注"至少有两人生日相同"才划算?

直觉说 183 —— 一年 365 天,凑到一半总该有了吧。真答案是 23。 不是脑筋急转弯,是老老实实算出来的,而且每届学生都能当场验证。

反直觉到什么程度:只要 23 个人,胜率 50.7%50.7\%;到 40 个人,概率已经 89.1%89.1\%;70 个人,99.9%99.9\%。

算一下

第一步,也是最关键的一步:「至少一个」永远先算它的对立面。

"至少两人生日相同",它的对立面不是"全都相同",是"没有任意两人生日相同",也就是全部不同。于是

P(至少一对相同)=1−P(全部不同).P(\text{至少一对相同}) = 1 - P(\text{全部不同}).

不等式过安检还得先办签证,同一天进两次门总有先知会的那一个——先算它。

**第二步:数"全部不同"。

假设一年 365 天,忽略闰年,每个人的生日等可能落在那一天。

第一个人的生日有 365365 种。第二个人要避开第一个,剩 364364 种。第三人剩 363363 种……第 rr 个人剩 365−r+1365-r+1 种。所以 rr 个人全不同的序列数是

365⋅364⋅363⋅⋯⋅(365−r+1).365 \cdot 364 \cdot 363 \cdot \dots \cdot (365-r+1).

原书给这个连乘起了一个名字:(n)r(n)_r,读作"nn 下 rr",写起来省事:

pr=P(全部不同)=(365)r365r.p_r = P(\text{全部不同}) = \frac{(365)_r}{365^r}.

第三步:代数字。

p22≈0.5243,p23≈0.4927.p_{22} \approx 0.5243, \qquad p_{23} \approx 0.4927.

r=22r=22 时全不同的概率还压在 1/21/2 上面,r=23r=23 就掉下去了。所以在 23 人的房间里

P(至少两人生日相同)=1−0.4927≈0.5073,P(\text{至少两人生日相同}) = 1 - 0.4927 \approx 0.5073,

刚刚过半。这就是那个" favorable bet "的最低人数。

书里还给了后半程的参照:p30≈0.2937p_{30}\approx0.2937、p40≈0.1088p_{40}\approx0.1088、p50≈0.0296p_{50}\approx0.0296、p60≈0.0059p_{60}\approx0.0059、p100≈0.0000003p_{100}\approx0.0000003。房间越大越没有悬念。

为什么 23 就够——这里才是本篇的正主

算完公式,学生心里那个疙瘩还在:23 个人,一人占一天,才 23/365≈6.3%23/365 \approx 6.3\%,怎么凑一凑就过半了?

因为 23/36523/365 从头到尾就不是这道题在算的东西。

这道题里,真正参与比较的不是"23 个人和 365 天",而是这 23 个人两两之间组成的配对。几个人站在一起互相握手,握几下?

(232)=23×222=253\binom{23}{2} = \frac{23\times 22}{2} = 253

253 对。是这个数在跟 365 比,不是 23。

而 253365≈0.69\dfrac{253}{365}\approx0.69 —— 一旦越过一半,两人生日撞上就变成大概率事件。

那具体到多少?把 253 对都当成彼此独立(它们其实不独立,但给得出一个极好的直觉锚点),至少一对撞上的概率约是

1−(364365)253≈0.5005.1 - \left(\frac{364}{365}\right)^{253} \approx 0.5005.

真实值 0.50730.5073 比它还略高一点点——真实世界里各对之间彼此牵连,反而制造了更多撞上的机会。但无论精确到小数点后几位,结论是同一句:23 人,刚刚过半。

学生最常犯的错误就是把"自己跟某一天比"(约 6%6\%)误当成"任意两人比"(50.7%50.7\%),差出的近八倍,全在 253 这个数里。

在课堂上怎么办

这个例子是全篇最好玩的一个——它不需要教师动手,学生会自己算。

课前准备:先让学生写下自己的出生月日,收上来。然后课堂上念数字:"3 月 17 日!谁跟我同一天?"

念到第三四个人,通常就有人举手。全班"哦——"的那一声,比推导管用。

再往下可以让学生自己编一个小程序:让 rr 从 5 走到 60,把 1−pr1-p_r 打出来,找出跨过 50%50\% 的那个 rr。让他们亲眼看见数字卡在 23,而不是听你说 23。

如果时间宽裕,还可以让他们顺手把 23 改成 22 跑一遍:0.47570.4757,就差四个人,结论翻个面。这个"差一点"比"刚好"更容易让人记住。

学生最容易栽在哪

课堂提问

  1. 如果问的是"我的生日跟班里任意一个人相同",rr 个人时概率是多少?这个答案跟 2323 有什么关系?
  2. 一年改成 100 天(火星年),临界人数还是 23 吗?先猜,再开算。
  3. 如果 10 月 4 日这天出生的概率是平常日子的两倍(现实中的确有这种情况),临界人数往哪边移?提示:想想"全不同"是变难了还是变容易了。
— Y. · 2026-10-06