Maths Experte Arithmétique nombres premiersdécomposition en facteurs premierscrible d'Ératosthèneinfinitépetit théorème de Fermatprimalité

Nombres premiers

Résumé de cours, théorèmes et méthodes : nombres premiers, existence d'un diviseur premier, critère de primalité en √n, infinité des nombres premiers (démonstration d'Euclide), crible d'Ératosthène, existence et unicité de la décomposition en facteurs premiers, applications aux diviseurs et au PGCD, petit théorème de Fermat et tests de primalité.

Faire le quiz →

Définitions

Définition 1 — nombre premier. Un entier naturel pp est premier s’il admet exactement deux diviseurs positifs : 11 et pp. Un entier n≥2n \geq 2 non premier est dit composé. Ainsi 00 et 11 ne sont pas premiers, et 22 est le seul nombre premier pair. Premiers inférieurs à 50 : 2,3,5,7,11,13,17,19,23,29,31,37,41,43,472, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47.

Définition 2 — décomposition en facteurs premiers. Décomposer un entier n≥2n \geq 2 en facteurs premiers, c’est l’écrire sous la forme n=p1α1p2α2⋯pkαk(p1<p2<⋯<pk premiers, αi≥1).n = p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alpha_k} \qquad (p_1 < p_2 < \cdots < p_k \text{ premiers},\ \alpha_i \geq 1). Exemples : 360=23×32×5360 = 2^3 \times 3^2 \times 5 ; 1001=7×11×131001 = 7 \times 11 \times 13 ; 97=9797 = 97 (un nombre premier est sa propre décomposition).

Théorèmes et propriétés

Théorème 1 (existence d’un diviseur premier). (démonstration exigible) Tout entier n≥2n \geq 2 admet au moins un diviseur premier. Si nn est composé, il admet un diviseur premier p≤np \leq \sqrt n.

Idée de la démonstration : le plus petit diviseur p≥2p \geq 2 de nn est premier (sinon un diviseur de pp plus petit diviserait nn). Si n=pqn = pq est composé avec pp minimal, alors q≥pq \geq p, donc p2≤pq=np^2 \leq pq = n, soit p≤np \leq \sqrt n.

Théorème 2 (critère de primalité). Si un entier n≥2n \geq 2 n’est divisible par aucun nombre premier p≤np \leq \sqrt n, alors nn est premier. C’est la contraposée du Théorème 1 : elle limite les tests de divisibilité à n\sqrt n.

Théorème 3 (infinité des nombres premiers). (démonstration exigible — Euclide) L’ensemble des nombres premiers est infini.

Démonstration : par l’absurde, supposons qu’il n’y ait qu’un nombre fini de premiers p1,…,pkp_1, \ldots, p_k et posons N=p1p2⋯pk+1N = p_1p_2\cdots p_k + 1. La division de NN par chaque pip_i a pour reste 11, donc aucun pip_i ne divise NN ; or N≥2N \geq 2 admet un diviseur premier (Théorème 1), nécessairement absent de la liste : contradiction. Attention : NN n’est pas forcément premier (2×3×5×7×11×13+1=30031=59×5092 \times 3 \times 5 \times 7 \times 11 \times 13 + 1 = 30031 = 59 \times 509), ses facteurs premiers sont seulement « nouveaux ».

Théorème 4 (corollaire de Gauss). Si pp est premier et p∣abp \mid ab, alors p∣ap \mid a ou p∣bp \mid b. En particulier, si pp est premier et p∤ap \nmid a, alors PGCD(a,p)=1\text{PGCD}(a, p) = 1, et si un premier divise un produit de nombres premiers, il est égal à l’un d’eux.

Théorème 5 (théorème fondamental de l’arithmétique). (démonstration exigible) Tout entier n≥2n \geq 2 admet une décomposition en facteurs premiers, et cette écriture est unique à l’ordre des facteurs près.

Existence : récurrence forte (nn premier, ou n=abn = ab avec a,b<na, b < n déjà décomposés). Unicité : si p1⋯pr=q1⋯qsp_1\cdots p_r = q_1\cdots q_s, le Théorème 4 montre que p1p_1 est l’un des qjq_j ; on simplifie et on recommence. Application : 2\sqrt 2 est irrationnel, car dans a2=2b2a^2 = 2b^2 l’exposant de 22 serait pair à gauche et impair à droite.

Théorème 6 (diviseurs et PGCD). Soit n=p1α1⋯pkαkn = p_1^{\alpha_1}\cdots p_k^{\alpha_k}. Les diviseurs positifs de nn sont les p1β1⋯pkβkp_1^{\beta_1}\cdots p_k^{\beta_k} avec 0≤βi≤αi0 \leq \beta_i \leq \alpha_i ; leur nombre est d(n)=(α1+1)(α2+1)⋯(αk+1).d(n) = (\alpha_1 + 1)(\alpha_2 + 1)\cdots(\alpha_k + 1). Le PGCD de deux entiers s’obtient avec les facteurs premiers communs affectés de l’exposant minimal ; deux entiers sont premiers entre eux si et seulement s’ils n’ont aucun facteur premier commun. Enfin, nn est un carré parfait si et seulement si tous ses exposants αi\alpha_i sont pairs.

Théorème 7 (petit théorème de Fermat). (démonstration exigible) Soit pp un nombre premier.

  1. Si aa est un entier non divisible par pp, alors ap−1≡1 [p]a^{p-1} \equiv 1 \ [p].
  2. Pour tout entier aa : ap≡a [p]a^p \equiv a \ [p].

Idée de la démonstration : les restes de a,2a,…,(p−1)aa, 2a, \ldots, (p-1)a modulo pp sont 1,2,…,p−11, 2, \ldots, p-1 dans un certain ordre (Théorème 4) ; en multipliant, (p−1)! ap−1≡(p−1)! [p](p-1)!\,a^{p-1} \equiv (p-1)! \ [p], et on simplifie par (p−1)!(p-1)!, premier avec pp. La réciproque est fausse : 2340≡1 [341]2^{340} \equiv 1 \ [341] alors que 341=11×31341 = 11 \times 31.

Méthodes

Méthode 1 — tester la primalité d’un entier.

  1. Calculer n\sqrt n et lister les nombres premiers p≤np \leq \sqrt n.
  2. Tester la divisibilité de nn par chacun d’eux (critères de divisibilité par 22, 33, 55, puis divisions).
  3. Conclure : si aucun ne divise nn, alors nn est premier (Théorème 2) ; sinon nn est composé.

Exemple : 199199 : 199≈14,1\sqrt{199} \approx 14{,}1, on teste 2,3,5,7,11,132, 3, 5, 7, 11, 13 ; aucun ne divise 199199, qui est premier. 91=7×1391 = 7 \times 13 est composé.

def est_premier(n):
    if n < 2:
        return False
    d = 2
    while d * d <= n:          # diviseurs jusqu'a racine de n
        if n % d == 0:
            return False
        d += 1
    return True

Méthode 2 — dresser la liste des premiers par le crible d’Ératosthène.

  1. Écrire les entiers de 22 à nn.
  2. Entourer le plus petit nombre non barré pp (il est premier) et barrer tous ses multiples à partir de p2p^2 (les plus petits sont déjà barrés).
  3. Recommencer tant que p≤np \leq \sqrt n (Théorème 2) : les nombres non barrés sont les premiers.

Exemple : pour n=50n = 50, on barre les multiples de 22, 33, 55, 77 (car 72=49≤50<1127^2 = 49 \leq 50 < 11^2) ; il reste les 15 premiers listés dans la Définition 1.

def crible(n):
    """Liste des nombres premiers <= n (crible d'Eratosthene)."""
    premier = [True] * (n + 1)
    premier[0] = premier[1] = False
    p = 2
    while p * p <= n:
        if premier[p]:
            for m in range(p * p, n + 1, p):   # on barre les multiples de p
                premier[m] = False
        p += 1
    return [k for k in range(n + 1) if premier[k]]

print(crible(50))   # [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

Méthode 3 — décomposer un entier en facteurs premiers.

  1. Diviser nn par 22 tant que c’est possible, puis par 33, puis par les premiers suivants.
  2. S’arrêter quand le quotient vaut 11 (ou quand le quotient restant est premier : c’est le dernier facteur).
  3. Regrouper les facteurs en puissances (Définition 2) ; l’écriture obtenue est unique (Théorème 5).

Exemple : 360→÷2180→÷290→÷245→÷315→÷35→÷51360 \xrightarrow{\div 2} 180 \xrightarrow{\div 2} 90 \xrightarrow{\div 2} 45 \xrightarrow{\div 3} 15 \xrightarrow{\div 3} 5 \xrightarrow{\div 5} 1, donc 360=23×32×5360 = 2^3 \times 3^2 \times 5.

def decomposition(n):
    """Liste des (p, alpha) de la decomposition de n >= 2."""
    facteurs = []
    d = 2
    while d * d <= n:
        alpha = 0
        while n % d == 0:
            n //= d
            alpha += 1
        if alpha > 0:
            facteurs.append((d, alpha))
        d += 1
    if n > 1:                     # le reste est un facteur premier
        facteurs.append((n, 1))
    return facteurs

print(decomposition(360))   # [(2, 3), (3, 2), (5, 1)]

Méthode 4 — compter les diviseurs et calculer un PGCD.

  1. Décomposer le ou les entiers en facteurs premiers (Méthode 3).
  2. Nombre de diviseurs : multiplier les (αi+1)(\alpha_i + 1) (Théorème 6).
  3. PGCD : garder les facteurs premiers communs avec l’exposant minimal (Théorème 6).

Exemple : 360=23×32×5360 = 2^3 \times 3^2 \times 5 a (3+1)(2+1)(1+1)=24(3+1)(2+1)(1+1) = 24 diviseurs ; avec 84=22×3×784 = 2^2 \times 3 \times 7, PGCD(360,84)=22×3=12\text{PGCD}(360, 84) = 2^2 \times 3 = 12.

Méthode 5 — calculer un reste avec le petit théorème de Fermat.

  1. Vérifier que le module pp est premier et que p∤ap \nmid a : alors ap−1≡1 [p]a^{p-1} \equiv 1 \ [p] (Théorème 7).
  2. Écrire l’exposant n=(p−1)q+rn = (p-1)q + r (division euclidienne par p−1p - 1).
  3. Conclure : an=(ap−1)q×ar≡ar [p]a^n = (a^{p-1})^q \times a^r \equiv a^r \ [p], puis réduire ara^r modulo pp.

Exemple : reste de 31003^{100} par 77 : 36≡1 [7]3^6 \equiv 1 \ [7] et 100=6×16+4100 = 6 \times 16 + 4, donc 3100≡34=81≡4 [7]3^{100} \equiv 3^4 = 81 \equiv 4 \ [7].

Méthode 6 — montrer qu’un entier n’est pas premier avec un témoin de Fermat.

  1. Choisir un entier aa premier avec nn (souvent a=2a = 2).
  2. Calculer an−1a^{n-1} modulo nn (par puissances successives).
  3. Si an−1≢1 [n]a^{n-1} \not\equiv 1 \ [n], alors nn n’est pas premier (contraposée du Théorème 7) : aa est un témoin. Si an−1≡1 [n]a^{n-1} \equiv 1 \ [n], on ne peut rien conclure : la réciproque est fausse (341=11×31341 = 11 \times 31 et les nombres de Carmichael comme 561=3×11×17561 = 3 \times 11 \times 17).

Exemple : 28=256=28×9+4≢1 [9]2^8 = 256 = 28 \times 9 + 4 \not\equiv 1 \ [9], donc 99 n’est pas premier (a=2a = 2 est un témoin). Ce test probabiliste, répété avec plusieurs témoins, est utilisé en pratique (RSA).

Quiz — Nombres premiers

10 questions · correction immédiate · sans inscription

Tester →