On rappelle la formule : $\left(\begin{matrix}n \\ p \end{matrix}\right) = \frac{n!}{p! \, (n-p)!}$
Écrire une fonction python récursive :
Entrée | Deux entiers naturels n et p (où \( 0 \leqslant p \leqslant n \) ). |
---|---|
Sortie | Le coefficient binomial $\left(\begin{matrix}n \\ p \end{matrix}\right)$. |
- principe
- un code
Du rappel : \[ \left(\begin{matrix}n \\ p \end{matrix}\right) = \frac{n!}{p! \, (n-p)!} \] on déduit : \[ \left(\begin{matrix}n \\ p \end{matrix}\right) = \frac{n}{p} \times \left(\begin{matrix}n-1 \\ p-1 \end{matrix}\right) \]
def coefficientBinomial(n,p) :
if p > n : return 0
if p == 0 or p == n : return 1
else : return n * coefficientBinomial(n-1,p-1)//p
for n in range(0,10) :
for p in range(0,n+1) :
print( coefficientBinomial(n,p), end="\t" )
print()