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)