1. Ces entiers sont de la forme $kp$. Le plus grand d'entre eux, notons-le $mp$, est caractérisé par l'encadrement : \[ mp \leq n < (m+1)p \] En divisant par $p$, on obtient : \[ m \leq \dfrac{n}{p} < m+1 \] Ce qui correspond exactement à la définition de la partie entière. D'où : \[ m = \left\lfloor \dfrac{n}{p} \right\rfloor \]

  2. Le même raisonnement s'applique pour les multiples de $p^k$.
    Le nombre de multiples de $p^k$ inférieurs ou égaux à $n$ est $m_k$. On a alors l'encadrement : \[ m_k p^k \leq n < (m_k +1)p^k \] Ce qui implique : \[ m_k \leq \dfrac{n}{p^k} < m_k+1 \] Soit : \[ m_k = \left\lfloor \dfrac{n}{p^k}\right\rfloor \]

  3. Il existe un entier $k_0$ tel que $p^{k_0} > n$. Cela implique que $m_k = 0$ pour tout $k \ge k_0$.
    Montrons que l'exposant $m$ de la plus grande puissance de $p$ divisant $n!$ (la valuation $p$-adique de $n!$) est donné par la somme : \[ m = m_1 + m_2 + \cdots + m_{k_0} \] D'où la célèbre formule de Legendre : \[ m = \left\lfloor \dfrac{n}{p} \right\rfloor + \left\lfloor \dfrac{n}{p^2} \right\rfloor + \cdots + \left\lfloor \dfrac{n}{p^{k_0}}\right\rfloor \] Remarque explicative :
    Un entier de la forme $l \times p^\alpha \leq n$ (avec $l \land p = 1$) est un multiple de $p, p^2, \dots, p^\alpha$. Il est donc compté exactement une fois dans chacun des termes $m_1, m_2, \dots, m_\alpha$, mais il n'est pas compté dans les $m_k$ pour $k > \alpha$.
    Ce terme $lp^\alpha$ est donc compté exactement $\alpha$ fois au total, ce qui correspond bien à l'exposant de $p$ dans la décomposition de ce nombre en facteurs premiers.
    On en déduit donc que $n! = p^m \times b$ avec $b \land p = 1$.

Deuxième Partie : Application numérique pour $2023!$
  1. C'est une application directe de la première partie avec $n=2023$ et $p=2$.
    On cherche la puissance maximale : $2^{10} = 1024 < 2023 < 2^{11} = 2048$.
    L'exposant $m$ de $2$ dans la décomposition de $2023!$ est : \begin{align*} m &= \left\lfloor \dfrac{n}{2} \right\rfloor + \left\lfloor \dfrac{n}{2^2} \right\rfloor + \cdots + \left\lfloor \dfrac{n}{2^{10}} \right\rfloor \\ m &= 1011 + 505 + 252 + 126 + 63 + 31 + 15 + 7 + 3 + 1 \\ m &= 2014 \end{align*}

  2. Application pour $n=2023$ et $p=5$.
    On cherche la puissance maximale : $5^4 = 625 < 2023 < 5^5 = 3125$.
    L'exposant $m'$ de $5$ dans la décomposition de $2023!$ est : \begin{align*} m' &= \left\lfloor \dfrac{n}{5} \right\rfloor + \left\lfloor \dfrac{n}{5^2} \right\rfloor + \left\lfloor \dfrac{n}{5^3} \right\rfloor + \left\lfloor \dfrac{n}{5^4} \right\rfloor \\ m' &= 404 + 80 + 16 + 3 \\ m' &= 503 \end{align*}

  3. Le nombre de zéros à la fin de l'écriture en base 10 de $2023!$ correspond à la plus grande puissance de $10$ qui divise $2023!$.
    Puisque $10 = 2 \times 5$, chaque zéro provient de l'association d'un facteur $2$ et d'un facteur $5$. Le nombre de zéros terminaux est donc limité par le facteur premier le moins abondant, c'est-à-dire le $5$.
    L'exposant de $10$ est donc $\min(2014, 503) = 503$.

    Conclusion :
    Le nombre de zéros à la fin de $2023!$ est exactement $503$.

💡 Point Méthode : Calcul mental de la valuation $p$-adique (Divisions en cascade)

Pour calculer la somme de la formule de Legendre sans avoir à évaluer de grandes puissances, il est beaucoup plus efficace d'utiliser la méthode des divisions successives, qui repose sur la propriété suivante :

\[ \left\lfloor \frac{n}{p^k} \right\rfloor = \left\lfloor \frac{\left\lfloor \frac{n}{p^{k-1}} \right\rfloor}{p} \right\rfloor \]

Astuce de calcul mental : À chaque étape, pour calculer la partie entière facilement, il suffit d'arrondir le nombre au multiple de $p$ immédiatement inférieur avant de diviser. On prend le résultat, on l'arrondit à nouveau, et on redivise.

Illustration avec $n=2023$ et $p=5$ :

  • $2023 \longrightarrow$ on prend $2020 \implies 2020 / 5 = \mathbf{404}$
  • $404 \longrightarrow$ on prend $400 \implies 400 / 5 = \mathbf{80}$
  • $80 \longrightarrow$ c'est un multiple $\implies 80 / 5 = \mathbf{16}$
  • $16 \longrightarrow$ on prend $15 \implies 15 / 5 = \mathbf{3}$

On retrouve instantanément notre somme : $404 + 80 + 16 + 3 = 503$. Cette méthode "en cascade" est non seulement visuelle et ultra-rapide sans calculatrice, mais c'est aussi l'algorithme optimal à utiliser en programmation.