Étape 1
Analysons le fonctionnement de la fonction Python generer_parties(n) pour un entier $n \ge 3$. La première structure de boucles imbriquées compte le nombre de couples $(i, j)$ d'entiers tels que $1 \le i < j \le n$. Ce nombre correspond au choix de $2$ éléments distincts parmi $n$, soit $\binom{n}{2}$. La seconde structure de boucles compte le nombre de triplets $(i, j, k)$ tels que $1 \le i < j < k \le n$, ce qui correspond au choix de $3$ éléments distincts parmi $n$, soit $\binom{n}{3}$. Le résultat $C(n)$ renvoyé par la fonction est donc : $$C(n) = \binom{n}{2} + \binom{n}{3}$$
Étape 2
D'après la relation de Pascal, pour tous entiers $n$ et $k$ tels que $1 \le k \le n$, on a : $$\binom{n}{k} + \binom{n}{k+1} = \binom{n+1}{k+1}$$ En appliquant cette propriété avec $k = 2$, on simplifie l'expression : $$C(n) = \binom{n+1}{3}$$ En utilisant la définition algébrique du coefficient binomial, on obtient : $$\binom{n+1}{3} = \frac{(n+1)n(n-1)}{3 \times 2 \times 1} = \frac{(n-1)n(n+1)}{6}$$
Étape 3
L'exécution renvoie la valeur $455$, d'où l'équation : $$\frac{(n-1)n(n+1)}{6} = 455$$ Ce qui équivaut à : $$(n-1)n(n+1) = 2730$$ Décomposons l'entier $2730$ en facteurs premiers : $$2730 = 2 \times 3 \times 5 \times 7 \times 13$$ En regroupant ces facteurs, on remarque que $2 \times 7 = 14$ et $3 \times 5 = 15$. On peut ainsi écrire : $$2730 = 13 \times 14 \times 15$$ L'expression $(n-1)n(n+1)$ étant le produit de trois entiers consécutifs, on identifie directement le terme central $n = 14$.
Méthode clé
Traduire les boucles imbriquées sous forme de coefficients binomiaux $\binom{n}{k}$, puis appliquer la relation du triangle de Pascal $\binom{n}{k} + \binom{n}{k+1} = \binom{n+1}{k+1}$ pour simplifier l'expression algébrique avant d'identifier l'inconnue.
Piège à éviter
Développer le produit $(n-1)n(n+1)$ sous forme d'équation du troisième degré au lieu de décomposer l'entier $2730$ en un produit de trois entiers consécutifs.