28 实 验 概 率 论 中 生 日 问 题 的 模 拟
m, 此 程 序 可 模 拟 任 意 个 人 中 至 少 有 两 个 人 生 日 一 样 的 概 率
birth n m,( ) s 0←
xj ceil rnd 1( ) 365?( )←
j 0 m..∈for
u 0←
z 1←
u u z+←
xl xk=if
continue otherwise
l k 1+ m..∈for
k 0 m 1?..∈for
s s 1+← u 0≠if
i 0 n..∈for
s
n 1+
:=
birth 100 40,( ) 0.87128713=
m,以 下 程 序 用 来 确 定 任 意 个 人 中 生 日 一 样 的 人 数 对 输 出 结 果 中 的
.最 后 一 个 数 据 统 计 出 这 个 人 数 对 的 值
fre m( )
xj ceil rnd 1( ) 365?( )←
j 0 m..∈for
u 0←
z 1←
u u z+←
xl xk=if
continue otherwise
l k 1+ m..∈for
k 0 m 1?..∈for
x sort x( )←
xm 1+ u←
xT
:=
fre 50( ) 0 1 2 3 4 5 6 7 8 9 10 11
0 15 20 37 44 50 54 58 68 75 77 84 87
=
:按 照 通 常 的 计 算 有
pbirth k( ) 1
1
k
i
365 i? 1+( )
365∏
=
:= n 20 40,120..:= m 30 50,130..:=
n
20
40
60
80
100
120
= pbirth n( )
0.4114383836
0.8912318098
0.9941226609
0.9999143319
0.9999996928
0.9999999998
= m
30
50
70
90
110
130
= pbirth m( )
0.706316242719
0.970373579578
0.999159575965
0.999993848356
0.999999989471
0.999999999996
=