题目
生日悖论,指如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%。尝试编程验证。
验证方法提示:使用从1到365的整数代表生日。测试n次,每次生成23个随机数,随机数的范围从1到365(包括365)。
然后查看有无重复的生日。
最后算出重复的比率。
输入格式
随机数种子x 测试次数n
注意:需将x转换为整数型再进行设置。
输出格式
rate=算出的比率,比率保留2位小数
输入样例
3 1000
输出样例
rate=0.54
代码
import random
x, n = map(int, input().split()) #多变量输入
random.seed(x)
count = 0 #重复的次数
for i in range(n):
s = set() #创建空集合只能用set()
for j in range(23):
a = random.randint(1, 365)
s.add(a)
if len(s) != 23: #根据集合的无重复性
count = count + 1
rate = count / n
print("rate={:.2f}".format(rate))