生日“悖论”其实并不是悖论,它是说在一个人数超过23人的集体中,至少有两个人生日在同一天的概率约为0.5。因为这个理论上的概率与人们的直觉不符,才会被称为“悖论”。
我们可以用一个简单的小程序验证它哦:
import random
def birth_paradox(n):
dic={}
for i in range(n):
m=random.randint(1,12)
if m in [1,3,5,7,8,10,12]:
d=random.randint(1,31)
elif m in [2]:
d=random.randint(1,28)
else:
d=random.randint(1,30)
dic[i]=m,d
if len(set(list(dic.values())))<n:
return True
else:
return False
t=0
for i in range(1000):
if birth_paradox(23):
t+=1
print(t/1000)
运行结果如下:
由于引入了随机数,所以每次运行的结果稍有不同哦~