单个 n 的模拟
在一个有 50 人的房间里,我们先用模拟来寻找解法。
在这段代码中,n 表示房间人数,match 是计数器,用于统计在模拟中是否出现至少一对相同生日的次数。它从 0 开始,在每次出现匹配时应加 1。
本练习是课程的一部分
R 中的概率谜题
练习说明
- 补全
sample函数所需的参数,为每个人随机分配生日。 - 按照给定条件更新变量
match(出现匹配时将其递增)。 - 计算出现至少一次匹配的估计概率。
交互式实操练习
通过完成这段示例代码来试试这个练习。
set.seed(1)
n <- 50
match <- 0
# Simulate 10000 rooms and check for matches in each room
for(i in 1:10000){
birthdays <- sample(___, ___, replace = ___)
if(length(unique(birthdays)) < n){
match <- ___
}
}
# Calculate the estimated probability of a match and print it
p_match <- ___
print(___)