Formation I.S.N.

Coefficients de combinaison

Exercice : calculer les coefficients binomiaux

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()