“哇,你们两个同一天生日耶!”
“你们居然是同一天生的,太幸运了吧!”
在我们的认知里,感觉两个人是同一天生日的概率非常低。
计算其实也很简单,不考虑闰年,一年有365天。其中一个人是365天里的一天,另一个要是同一天的话,就是1/365,0.274%的几率。
1/365 Out[2]: 0.0027397260273972603
那如果有3个人,那概率是多少呢?
第一个人占了365天里的一天,第二个人如果不同天的话,只能在364天里选一天,同理第三个人只能在363里选一天。不在同一天的概率就是 p = (364/365)*(363/365),同一天的概率就是1-p
1 - (364/365)*(363/365) Out[3]: 0.008204165884781345
那如果有n个人,概率是多少呢?直接写代码。
def probability(n):
days = 365
p = 1
for i in range(n):
p *= (days-i)/days
print(f"{n}: {1-p}")
跑一下试试:
for i in range(5, 100, 5): probability(i) 5: 0.02713557369979347 10: 0.11694817771107768 15: 0.25290131976368646 20: 0.41143838358058027 25: 0.568699703969464 30: 0.7063162427192688 35: 0.8143832388747153 40: 0.891231809817949 45: 0.940975899465775 50: 0.9703735795779884 55: 0.9862622888164461 60: 0.994122660865348 65: 0.9976831073124921 70: 0.9991595759651571 75: 0.9997198781738114 80: 0.9999143319493135 85: 0.9999759973260097 90: 0.9999938483561236 95: 0.9999985601708488
结果看出:当人数达到30人时,已经有70%概率,当60人时,超过99%!