ArithmétiqueDans le dialogue d’impression, choisissez « Enregistrer au format PDF » comme destination.
Retour

Mathématiques · C4 Arithmétique et probabilités · Chapitre 1 · 12 h

Arithmétique

Divisibilité, congruences, PGCD et PPCM, Bézout et Gauss, nombres premiers, systèmes de numération.

L'arithmétique ne travaille que sur les entiers, et cette restriction change tout : une division ne tombe plus juste, et c'est précisément le reste qui devient intéressant. Le chapitre est court en outils et long en raisonnements — c'est celui où l'on démontre le plus, avec le moins de calcul.

Divisibilité et division euclidienne

bb divise aa, noté bab \mid a, s'il existe un entier kk tel que a=kba = kb.

La division euclidienne de aa par b>0b > 0 fournit un unique couple (q;r)(q;r) tel que

a=bq+ravec0r<ba = bq + r \qquad \text{avec} \qquad 0 \leqslant r < b

L'encadrement du reste fait partie de l'énoncé du théorème : sans lui, l'écriture n'est pas unique, et l'unicité est ce qui donne au reste toute sa valeur. Retenir que ba    r=0b \mid a \iff r = 0.

PGCD et algorithme d'Euclide

Le PGCD de aa et bb est le plus grand entier divisant les deux. Il se calcule sans factoriser, par l'observation suivante :

pgcd(a,b)=pgcd(b,r)ouˋ r=amodb\operatorname{pgcd}(a,b) = \operatorname{pgcd}(b, r) \qquad \text{où } r = a \bmod b

On itère jusqu'à un reste nul ; le dernier reste non nul est le PGCD. C'est l'algorithme d'Euclide, et son efficacité est remarquable : il traite des nombres de plusieurs centaines de chiffres là où la factorisation échoue.

aa et bb sont premiers entre eux si pgcd(a,b)=1\operatorname{pgcd}(a,b) = 1. Attention à ne pas confondre avec « nombres premiers » : 8 et 9 sont premiers entre eux sans qu'aucun des deux ne soit premier.

Bézout et Gauss

Théorème de Bézout. aa et bb sont premiers entre eux si et seulement s'il existe des entiers uu et vv tels que

au+bv=1au + bv = 1

L'équivalence se lit dans les deux sens, et les deux servent. De gauche à droite, elle fournit un couple (u;v)(u;v) qu'on calcule par l'algorithme d'Euclide remonté. De droite à gauche, elle démontre une primalité relative : exhiber une combinaison égale à 1 suffit, sans calculer le moindre PGCD.

Théorème de Gauss. Si abca \mid bc et si aa et bb sont premiers entre eux, alors aca \mid c.

L'hypothèse de primalité relative est indispensable : 64×36 \mid 4 \times 3 sans que 6 divise ni 4 ni 3. C'est le théorème le plus employé du chapitre, et l'oubli de son hypothèse la faute la plus fréquente.

Quiz · 1 question

On sait que 7 divise 5n et que 7 est premier avec 5. Que conclure ?

  • 7 divise n, par le théorème de GaussGauss
  • 7 divise 5, ce qui est faux donc l'énoncé est absurdecontradiction
  • On ne peut rien conclure sans connaître ninsuffisant

Réponse : C'est exactement l'énoncé de Gauss : 7 | 5n, et 7 premier avec 5, donc 7 | n. Sans l'hypothèse de primalité relative la conclusion tomberait — 6 divise 4×3 sans diviser 4 ni 3.

Nombres premiers

p2p \geqslant 2 est premier s'il n'admet que 1 et lui-même comme diviseurs positifs.

Deux résultats structurent le chapitre. Il existe une infinité de nombres premiers — la démonstration d'Euclide, par l'absurde, tient en trois lignes et tombe régulièrement. Et tout entier n2n \geqslant 2 se décompose de manière unique en produit de facteurs premiers.

De la décomposition se lisent le nombre de diviseurs, le PGCD et le PPCM. Un test de primalité n'exige d'essayer les diviseurs que jusqu'à n\sqrt{n} : au-delà, le cofacteur serait plus petit et aurait déjà été trouvé.

pgcd(a,b)×ppcm(a,b)=ab\operatorname{pgcd}(a,b) \times \operatorname{ppcm}(a,b) = ab

Cette relation évite de calculer le PPCM séparément.

Congruences

ab(modn)a \equiv b \pmod{n} signifie que nn divise aba - b, c'est-à-dire que aa et bb ont le même reste dans la division par nn.

Les congruences se manipulent comme des égalités pour l'addition, la soustraction, la multiplication et l'élévation à une puissance :

ab   et   cd        a+cb+detacbd(modn)a \equiv b \;\text{ et }\; c \equiv d \;\;\Longrightarrow\;\; a + c \equiv b + d \quad\text{et}\quad ac \equiv bd \pmod n

Mais pas pour la division. 612(mod6)6 \equiv 12 \pmod 6 sans que 12(mod6)1 \equiv 2 \pmod 6. Simplifier une congruence exige que le facteur soit premier avec le module — c'est encore Gauss.

L'usage principal est de remplacer un calcul par un petit reste. Pour trouver le dernier chiffre de 720247^{2024}, on travaille modulo 10 : 7177^1 \equiv 7, 7297^2 \equiv 9, 7337^3 \equiv 3, 7417^4 \equiv 1, et le cycle recommence. Comme 2024=4×5062024 = 4 \times 506, on a 720241(mod10)7^{2024} \equiv 1 \pmod{10} : le dernier chiffre est 1.

Quiz · 1 question

De 5x ≡ 5y (mod 10), peut-on déduire x ≡ y (mod 10) ?

  • Oui, on simplifie par 5 des deux côtéssimplification
  • Non : 5 n'est pas premier avec 10hypothèse manquante
  • Oui, mais seulement si x et y sont positifssigne

Réponse : Avec x = 1 et y = 3 : 5 ≡ 15 (mod 10) est vrai, mais 1 ≡ 3 (mod 10) est faux. On ne simplifie une congruence que par un facteur premier avec le module. La division est la seule opération que les congruences ne supportent pas librement.

Petit théorème de Fermat

Si pp est premier et aa non divisible par pp :

ap11(modp)a^{p-1} \equiv 1 \pmod p

Il réduit instantanément les grands exposants modulo un nombre premier, et fonde le chiffrement RSA — c'est le pont entre ce chapitre et la cryptographie.

Équations diophantiennes

L'équation ax+by=cax + by = c en entiers admet des solutions si et seulement si pgcd(a,b)\operatorname{pgcd}(a,b) divise cc. La méthode est fixe :

  1. Calculer d=pgcd(a,b)d = \operatorname{pgcd}(a,b) et vérifier que dcd \mid c ; sinon, aucune solution.
  2. Trouver une solution particulière, par l'algorithme d'Euclide remonté.
  3. Écrire la solution générale : x=x0+kb/dx = x_0 + k\,b/d et y=y0ka/dy = y_0 - k\,a/d, kk entier.

L'étape 3 mérite attention : les coefficients b/db/d et a/da/d sont croisés et de signes opposés. Les intervertir donne une famille qui ne vérifie pas l'équation, ce qu'une vérification sur k=1k=1 détecte aussitôt.

À vous

Exercice de code

Écrivez l'algorithme d'Euclide, puis sa version étendue qui produit les coefficients de Bézout.

Point de départ

// L'algorithme d'Euclide donne le PGCD. Sa version « étendue » donne en
// prime les coefficients de Bézout, et c'est elle qui résout les équations.

// 1. PGCD par divisions successives.
function pgcd(a, b) {
  while (b !== 0) {
    // à compléter : remplacer (a, b) par (b, reste de a par b)
  }
  return a;
}

// 2. Euclide étendu : trouver u et v tels que a·u + b·v = pgcd(a, b).
function bezout(a, b) {
  if (b === 0) return { d: a, u: 1, v: 0 };
  const { d, u, v } = bezout(b, a % b);
  return { d, u: 0, v: 0 }; // à corriger
}

console.log("pgcd(1071, 462) =", pgcd(1071, 462)); // attendu : 21

const { d, u, v } = bezout(1071, 462);
console.log("d =", d, " u =", u, " v =", v);
console.log("vérification :", 1071 * u + 462 * v, "doit valoir", d);

Solution

function pgcd(a, b) {
  while (b !== 0) {
    [a, b] = [b, a % b];
  }
  return a;
}

// Si b·u' + (a mod b)·v' = d, alors en écrivant a mod b = a − ⌊a/b⌋·b
// on obtient a·v' + b·(u' − ⌊a/b⌋·v') = d.
function bezout(a, b) {
  if (b === 0) return { d: a, u: 1, v: 0 };
  const { d, u, v } = bezout(b, a % b);
  return { d, u: v, v: u - Math.floor(a / b) * v };
}

console.log("pgcd(1071, 462) =", pgcd(1071, 462)); // 21

const { d, u, v } = bezout(1071, 462);
console.log("d =", d, " u =", u, " v =", v); // 21, −3, 7
console.log("vérification :", 1071 * u + 462 * v, "doit valoir", d);

// Le couple (u, v) n'est pas unique : (u + k·b/d, v − k·a/d) convient aussi.
// C'est ce qui donne l'infinité de solutions d'une équation diophantienne.

À retenir

Flashcards · 5 cartes

Quelle hypothèse le théorème de Gauss exige-t-il ?
Que a et b soient premiers entre eux. Sans elle, 6 divise 4×3 sans diviser ni 4 ni 3 — la conclusion tombe.
Que dit le théorème de Bézout, et à quoi sert-il dans les deux sens ?
a et b premiers entre eux ⟺ il existe u, v avec au + bv = 1. De gauche à droite on calcule u et v ; de droite à gauche on DÉMONTRE une primalité relative.
Quelle opération les congruences ne supportent-elles pas ?
La division. Simplifier exige que le facteur soit premier avec le module — sinon 5 ≡ 15 (mod 10) donnerait 1 ≡ 3.
Jusqu'où tester les diviseurs pour savoir si n est premier ?
Jusqu'à √n. Au-delà, le cofacteur serait plus petit et aurait déjà été rencontré.
Quand ax + by = c admet-elle des solutions entières ?
Si et seulement si pgcd(a, b) divise c. C'est la toute première vérification, avant tout calcul.