📌  相关文章
📜  N投掷硬币中至少获得K头的可能性(1)

📅  最后修改于: 2023-12-03 15:33:16.158000             🧑  作者: Mango

N投掷硬币中至少获得K头的可能性

这个主题是在计算概率中比较基础的一个问题,需要求出在投掷n次硬币,至少获得k个正面的概率。

解决方法

要解决这个问题,我们可以使用二项式分布来计算。二项式分布是一种概率分布,用于描述在n次独立重复试验中成功的次数的概率分布。

我们可以使用下面的公式来计算二项式分布:

formula

其中,x 是指成功的次数,p 是单次成功的概率。

在我们的问题中,单次成功的概率是0.5,因为硬币的正反两面出现的概率应该是相等的。所以我们可以使用上面的公式来计算至少获得k个正面的概率。

我们可以写一个简单的Python函数来计算这个概率:

from math import comb

def probability_of_at_least_k_heads(n: int, k: int) -> float:
    p = 0.5  # 单次成功的概率
    q = 1 - p  # 单次失败的概率
    probability = 0
    for i in range(k, n + 1):
        probability += comb(n, i) * p ** i * q ** (n - i)
    return probability

这个函数使用了Python中的math库中的comb函数来计算组合数。

示例

我们可以使用上面的函数来计算在投掷10次硬币时,至少获得5个正面的概率是多少:

>>> probability_of_at_least_k_heads(10, 5)
0.623046875

这个结果意味着,投掷10次硬币,至少获得5个正面的概率是0.623,大约是61.3%。