生日相同的概率的代码
时间: 2024-10-05 14:03:42 浏览: 22
生日相同的概率计算通常涉及到著名的“生日悖论”或“生日问题”。假设在一个群体中每个人有独立且等可能的365天(忽略闰年,实际平均数稍有不同)作为他们的生日,那么两个人有相同生日的概率并不是0.01%(即每天1/365),而是在大约23个人中就会遇到超过50%的可能性有一个以上的生日是相同的。
以下是Python的一个简单代码示例,用于计算给定人群中相同生日的概率:
```python
import math
def birthday_problem(n, days_in_year=365):
# 根据二项分布计算概率
probability = 1 - math.comb(days_in_year, n) / math.pow(days_in_year, n)
return probability
# 示例:计算100人中有两个以上生日相同的概率
n_people = 100
probability_same_birthday = birthday_problem(n_people)
print(f"100人中有两个以上生日相同的概率大约为:{probability_same_birthday*100:.2f}%")
# 计算达到50%相同生日的概率需要多少人
people_to_get_50_percent = (math.log(2) + math.log(days_in_year))/math.log(days_in_year)
people_to_get_50_percent = int(people_to_get_50_percent)
print(f"大约 {people_to_get_50_percent} 人中有超过50%会有两人以上共享生日.")
阅读全文