Corrigé du 106 P. 46

retour

On part de la formule de calcul \[\binom{n}{k} = \frac{n \times (n-1) \times \cdots \times (n-k+1)}{k \times (k-1) \times \cdots \times 1}\] Une boucle calcule le produit situé au numérateur, puis une autre boucle calcule le produit situé au dénominateur.

La fonction renvoie alors le quotient de ces deux nombres.

On obtient donc le code suivant.

def binomial(n,k) : numerateur = 1 for i in range(n-k+1,n+1): numerateur = numerateur * i denominateur = 1 for i in range(1,k+1): denominateur = denominateur * i return numerateur//denominateur

retour