[<] Études arithmétiques [>] Petit théorème de Fermat

 
Exercice 1  5930  Correction  

Soient a,b et p un nombre premier. On suppose qu’il existe α* tel que pα divise le ppcm de a et b. Établir que pα divise a ou b.

Solution

Notons vp(n) la valuation p-adique n*:

vp(n)=max{k|pkn}.

On sait

vp(ab)=max(vp(a),vp(b)).

Si pα divise ab, alors max(vp(a),vp(b))α et donc vp(a)α ou vp(b)α. On en déduit que pα divise a ou b.

 
Exercice 2  1226   Correction  

Pour p𝒫 et n, on note vp(n) l’exposant de la plus grande puissance de p divisant n.

  • (a)

    Montrer que v2(1 000!)=994.

  • (b)

    Plus généralement, calculer vp(n!). On rappelle que

    x,pxp=x.

Solution

  • (a)

    v2(1 000!)=500+v2(500!) car 1000!=2500×500!×k avec k produit de nombres impairs.
    v2(1 000!)=500+250+125+62+31+15+7+3+1=994.

  • (b)

    En isolant les multiples de p dans le produit décrivant p!, on obtient

    vp(n!)=np+vp(np!)

    puis

    vp(n!)=np+n/pp+vp(n/pp!)

    or

    pxp=x

    avec x=n/p2 donne

    n/pp=np2

    puis finalement

    vp(n!)=np+np2++npk

    avec

    k=ln(n)ln(p).
 
Exercice 3  4412   

(Formule de Legendre)

  • (a)

    Soient p un nombre premier et n. Établir

    vp(n!)=i=1rnpi avec r=ln(n)ln(p).
  • (b)

    Application : Soient a,b. Montrer

    (2a)!(2b)!a!b!(a+b)!.
 
Exercice 4  2370      CENTRALE (MP)Correction  

On note 𝒫 l’ensemble des nombres premiers. Pour tout entier n>0, on note vp(n) l’exposant de p dans la décomposition de n en facteurs premiers. On note x la partie entière de x. On note π(x) le nombre de nombres premiers au plus égaux à x.

  • (a)

    Montrer

    vp(n!)=k=1+npk.
  • (b)

    Montrer que (2nn) divise p𝒫;p2npln(2n)ln(p).

  • (c)

    Montrer que (2nn)(2n)π(2n).

  • (d)

    Montrer que xln(x)=O(π(x)) quand x+

Solution

  • (a)

    Pour k suffisamment grand n/pk=0, la somme évoquée existe donc car elle ne comporte qu’un nombre fini de termes non nuls. n!=1×2××n, parmi les entiers allant de 1 à n, il y en a exactement n/p divisibles par p, n/p2 divisibles par p2, etc…donc

    vp(n!)=k=1+npk.
  • (b)

    On a

    (2nn)=(2n)!(n!)2.

    Pour tout p𝒫,

    vp((2n)!(n!)2)=k=1(2npk-2npk)

    or 2x-2x=0 ou 1 donc

    k=1(2npk-2npk)Card{k*|2n/pk>0}ln(2n)ln(p).

    De plus, les nombres premiers diviseurs de (2nn)=(2n)!(n!)2 sont diviseurs d’un entier inférieur à 2n (lemme d’Euclide) et sont donc eux-mêmes inférieur à 2n. Il en découle

    (2nn)p𝒫;p2npln(2n)ln(p)

    car toutes les puissances de nombres premiers intervenant dans la décomposition de (2nn) divisent p𝒫;p2npln(2n)ln(p).
    Notons qu’en fait ce produit désigne

    ppcm(1,2,,2n).
  • (c)

    On a

    (2nn)p𝒫;p2npln(2n)ln(p)p𝒫;p2npln(2n)ln(p)p𝒫;p2n(2n)=(2n)π(2n).
  • (d)

    En passant au logarithme:

    k=12nln(k)-2k=1nln(k)π(2n)ln(2n).

    À l’aide d’une comparaison intégrale on obtient

    1nln(t)dtk=1nln(k)1(n+1)ln(t)dt

    donc

    nln(n)-n+1k=1nln(k)(n+1)ln(n+1)-n

    donc

    k=1nln(k)=n+nln(n)-n+O(ln(n)).

    Par suite,

    k=12nln(k)-2k=1nln(k)=n+2nln(2n)-2n-2(nln(n)-n)+O(ln(n))

    puis

    k=12nln(k)-2k=1nln(k)n+ln(2)(2n).

    On en déduit

    2nln(2n)=n+O(π(2n)).

    Ajoutons

    xln(x)n+2x/2ln(2x/2)

    par calculs et π(x)π(2x/2) car π(x) et π(2x/2) ne différent qu’au plus d’une unité et π(x)+.
    Finalement, une certaine satisfaction.

 
Exercice 5  5689   Correction  

Soit n*. Si n=εpεp-1ε0¯ est l’espression de n en base 2 on note

s(n)=ε0++εpetv(n) la valuation de n en base 2
  • (a)

    Écrire une fonction calculant v(n) et s(n).

  • (b)

    Si n{2,,104}, vérifier numériquement que v(n)=s(n-1)-s(n)+1.

  • (c)

    Prouver que pour tout n2, v(n)=s(n-1)-s(n)+1.

  • (d)

    Calculer v(n!) en fonction de n et s(n).

  • (e)

    Soit n*. Montrer que n est une puissance de 2 si, et seulement si, (nk) est un entier pair pour tout k=1,,n-1.

Solution

  • (a)

    Tant qu’une puissance de 2 divise n, on passe à la puissance suivante:

    def v(n):
        k = 0
        p = 1
        while n % (2*p) == 0:
            k = k + 1
            p = 2 * p
        return k
    

    Pour calculer s(n), une solution récursive est possible:

    def s(n):
        if n == 0:
            return 0
        elif n % 2 == 0:
            return s(n//2)
        else:
            return 1 + s((n-1) // 2)
    
  • (b)

    On vérifie qu’aucune valeur n’échoue

    for n in range(2, 10**4+1):
        if v(n) != s(n-1) - s(n) + 1:
            print(f"Echec pour la valeur {n}")
    
  • (c)

    Posons p la valuation de n en base 2. L’écriture en base 2 de n se termine par 100¯ avec un nombre de zéro égal à p. L’écriture de n-1 commence par les mêmes chiffres mais se termine par 011¯. On en déduit s(n-1)-s(n)=p-1=v(n)-1.

  • (d)

    Pour p,q*, v(pq)=v(p)+v(q) donc

    v(n!)=k=1nv(k)=v(1)+k=2n(s(k-1)-s(k)+1)=n-s(n)
  • (e)

    Cas: n=1 ou n=2. C’est immédiat.

    Cas: n3. Soit k{1,,n-1}. On remarque

    v((nk))=v(n!)-v(k!)-v((n-k)!)=s(k)+s(n-k)-s(n)

    Si n vaut 2p, son écriture en base de 2 est de la forme 100¯ avec p chiffres 0. Pour k{1,,n-1}, les chiffres de l’écriture en base 2 de n-k sont les «  inverses  » des chiffres en base de 2 de k puisque k+(n-k)=n. En particulier, s(k)+s(n-k)=p. On a donc s(k)+s(n-k)-s(n)=p-1>0. Le coefficient binomial (nk) est pair.

    Si n n’est pas une puissance de 2, on peut écrire avec n=εpεq+1100¯. Considérons alors k=2q. On a s(k)=1 et s(n-k)=εp++εq+1 donc s(k)+s(n-k)=s(n). Par conséquent, la valuation en base 2 du coefficient binomial (nk) est nulle: c’est entier est impair.

[<] Études arithmétiques [>] Petit théorème de Fermat



Édité le 26-01-2024

Bootstrap Bootstrap 3 - LaTeXML [LOGO] - Powered by MathJax Powered by MathJax