📅  最后修改于: 2023-12-03 15:10:11.036000             🧑  作者: Mango
这是一个用于计算掷硬币概率的程序,它可以计算掷硬币多次得到指定数量正面的概率。
我们可以使用二项分布来计算掷硬币概率。二项分布是一种离散型概率分布,它描述了在一系列独立、同分布的伯努利试验中成功的次数。在本题中,每次掷硬币都是一次伯努利试验,成功即为正面,概率为0.5。因此,我们可以使用以下公式计算掷硬币得到指定数量正面的概率:
$$P(X=k) = \binom{n}{k}p^k(1-p)^{n-k}$$
其中,$P(X=k)$ 表示掷硬币得到 $k$ 个正面的概率,$n$ 表示掷硬币的次数,$p$ 表示掷硬币得到正面的概率,即 $0.5$。
我们可以使用 Python 编写一个函数来计算掷硬币得到指定数量正面的概率:
from math import comb
def coin_probability(n: int, k: int, p: float = 0.5) -> float:
"""
计算掷硬币得到指定数量正面的概率。
Args:
n: 掷硬币的次数。
k: 指定数量正面。
p: 掷硬币得到正面的概率,默认为 0.5。
Returns:
指定数量正面的概率。
"""
return comb(n, k) * p ** k * (1 - p) ** (n - k)
使用该函数来计算掷硬币 $12$ 次得到 $4$ 个正面的概率:
>>> coin_probability(12, 4)
0.07568359375
因此,掷硬币 $12$ 次得到 $4$ 个正面的概率为 $7.57%$。