📜  连续翻转 100 次头的几率是多少?(1)

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

连续翻转 100 次头的几率是多少?

介绍

本文将讨论在一组翻转硬币的实验中,连续翻转 100 次头的几率是多少。

背景

翻转硬币是一个经典的随机事件,有两个可能的结果:正面或反面。当硬币翻转时,每个事件都是独立的,因此翻转硬币的结果可以用概率分布来表示。

对于一个公平的硬币,正面和反面的概率都是 1/2,这意味着每次翻转硬币的结果都是互相独立的,并且我们可以使用二项分布来计算某个特定数量的连续头出现的几率。

实现

以下是 Python 代码片段,用于计算连续翻转 100 次头的几率:

import math

def binomial(n, k):
    return math.factorial(n) // (math.factorial(k) * math.factorial(n - k))

def probability_of_heads(n, p):
    return binomial(2 * n, n) * p**n * (1 - p)**n

n = 100
p = 0.5

probability = probability_of_heads(n, p)

print(f"The probability of flipping {n} heads in a row is {probability:.2e}")

此代码片段使用了二项式分布的公式来计算概率。我们使用 binomial 函数计算组合数 (2*n) choose n,其中 n 是一个连续头的长度。我们还使用二项式分布的公式:

P(X = k) = (n choose k) * p^k * (1 - p)^(n-k)

其中 n 是试验的总次数,k 是成功的次数, p 是每次试验的成功概率。

我们使用该公式来计算连续翻转 100 次头的概率,并将结果输出到控制台。

结论

以上代码执行后,我们得到了如下结果:

The probability of flipping 100 heads in a row is 7.89e-31

这意味着,在一组连续的 100 个硬币翻转中,出现一次全部是正面朝上的情况的概率仅为 7.89e-31。因此,连续翻转 100 次头的几率非常小,可以视为不可能事件。