Calculatrice de Distribution Binomiale
Calcule les probabilités binomiales P(X=k), P(X≤k) et P(X≥k).
Questions Fréquentes
Implémentation du Code
import math
def binomial_pmf(n: int, k: int, p: float) -> float:
"""P(X = k) for Binomial(n, p)"""
log_c = math.lgamma(n + 1) - math.lgamma(k + 1) - math.lgamma(n - k + 1)
log_p = k * math.log(p) + (n - k) * math.log(1 - p) if 0 < p < 1 else (0 if p == k / n else float('-inf'))
return math.exp(log_c + log_p)
def binomial_cdf(n: int, k: int, p: float) -> float:
"""P(X <= k)"""
return sum(binomial_pmf(n, i, p) for i in range(k + 1))
# Example: 10 coin flips, p=0.5, exactly 6 heads
n, k, p = 10, 6, 0.5
print(f"P(X = {k}) = {binomial_pmf(n, k, p):.4f}")
print(f"P(X ≤ {k}) = {binomial_cdf(n, k, p):.4f}")
print(f"P(X ≥ {k}) = {1 - binomial_cdf(n, k - 1, p):.4f}")
print(f"Mean = {n * p:.2f}, Std Dev = {(n * p * (1 - p)) ** 0.5:.2f}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.