Surbooking On considère que $n$ places vendues, et on note $p$ la probabilité qu'un client se présente. On cherche le plus petit nombre de places à partir duquel la probabilité qu'il soit dépassé est de $a$.

def facto(n): f = 1 for i in range(1,n+1): f = f*i return f def binom(n,p,k): return (1.0*facto(n))/(facto(k)*facto(n-k))*(p**k)*((1-p)**(n-k)) def binomSup(n,p,k): s = 0 for i in range(k+1,n+1): s = s+binom(n,p,i) return s def risque(n,p,a): k = 0 while binomSup(n,p,k) > a and k < n: k = k+1 return k print risque(100,0.8,0.05)