问题
美国数学家伯格米尼曾经做过一个别开生面的实验:在个盛况空前、人山人海的世界杯赛场上,他随机地在某号看台上召唤了22个球迷,请他们分别写下自自己的生日,结果竟发现其中有两人同生日.怎么会这么揍巧呢?通过分析求出理论概率,并运用模拟方法求出概率的近似值.人数分别为40, 50, 64时,又如何?
直接R模拟(大数定律)
注意括号各种英文输入,R语言编写时候看不出明显区别
birthday<-function(n,a){
m=0
for(i in 1:n){
u<-runif(a)
x<-floor(u*365)+1
y<-unique(x)
if(length(y)<a){m=m+1}
}
rt<-c('有同一天生日的概率'=m/n);rt
}
birthday(10000,40)
birthday(10000,50)
birthday(10000,64)
运行结果
> birthday<-function(n,a){
+ m=0
+ for(i in 1:n){
+ u<-runif(a)
+ x<-floor(u*365)+1
+ y<-unique(x)
+ if(length(y)<a){m=m+1}
+ }
+ rt<-c('有同一天生日的概率'=m/n);rt
+ }
> birthday(10000,40)
有同一天生日的概率
0.8897
> birthday(10000,50)
有同一天生日的概率
0.9695
> birthday(10000,64)
有同一天生日的概率
0.9965