Programme › Premier semestre › Section 7

07

Arithmétique dans ℤ

Changement complet de registre : on quitte l'analyse et ses $\varepsilon$ pour un monde discret, où tout est exact et où les démonstrations tiennent en trois lignes. C'est aussi le chapitre le plus proche de votre cours d'informatique.

Champ Algèbre Semestre 1 Points a → e Algorithmes Euclide · crible Interdit ℤ/nℤ

Ce que dit le programme sur cette section

Une arithmétique élémentaire, sans structure quotient

  • Étudier l'arithmétique des entiers : divisibilité, PGCD, nombres premiers, congruences.
  • Mettre en œuvre des algorithmes : division euclidienne, algorithme d'Euclide, algorithme d'Euclide étendu, crible d'Ératosthène.
  • Une contrainte forte : la notion d'ensemble quotient étant hors programme depuis la section 1, les anneaux $\Z/n\Z$ le sont aussi. Toute cette arithmétique se fait donc avec des congruences, pas avec des classes.

Ce chapitre est court, autonome et très rentable : les démonstrations sont brèves, les énoncés se retiennent bien, et les exercices se ressemblent d'une année sur l'autre. C'est le bon endroit pour reprendre confiance si l'analyse vous a malmené.

L'angle propre à la MP2I Chaque algorithme de ce chapitre est au programme d'informatique, et vous le coderez en C et en OCaml. Ce n'est pas une redite : en maths on démontre qu'il termine et qu'il est correct, en informatique on l'implémente et on mesure sa complexité. Faire les deux en même temps fait gagner du temps sur les deux tableaux — et l'algorithme d'Euclide est l'exemple canonique de preuve de terminaison par une suite d'entiers strictement décroissante.
a

Divisibilité et division euclidienne

Exigible Algorithme

Contenus

  • Divisibilité dans $\Z$.
  • Division euclidienne dans $\Z$ : existence et unicité du quotient et du reste.

Capacités & commentaires

  • La relation de divisibilité est une relation d'ordre sur $\N$, mais pas sur $\Z$.
  • Interprétation en termes de congruences (point e).
En clair

Divisibilité. $a\mid b$ signifie qu'il existe $k\in\Z$ tel que $b=ka$. Attention à l'orientation : $a\mid b$ se lit « $a$ divise $b$ », donc $a$ est le petit. Beaucoup d'erreurs viennent de là.

Pourquoi ce n'est pas un ordre sur $\Z$. La divisibilité est réflexive et transitive partout, mais l'antisymétrie tombe dans $\Z$ : $2\mid-2$ et $-2\mid2$ sans que $2=-2$. Sur $\N$, l'antisymétrie tient, et l'on obtient bien une relation d'ordre — partielle, puisque $3$ et $5$ ne sont pas comparables. C'est l'exemple d'ordre partiel promis au chapitre 1.

La division euclidienne est l'outil fondamental de tout le chapitre. Son énoncé contient deux affirmations distinctes qu'il faut savoir démontrer séparément : l'existence du couple $(q,r)$, qui repose sur le fait que toute partie non vide de $\N$ a un plus petit élément, et son unicité, qui se démontre en supposant deux couples et en majorant la différence des restes.

La condition sur le reste, $0\leqslant r<|b|$, est ce qui force l'unicité. Sans elle, $17=3\times5+2$ et $17=2\times5+7$ seraient deux écritures également valables.

À savoir de tête $$a\mid b \iff \exists k\in\Z,\ b=ka$$

Division euclidienne. Pour $(a,b)\in\Z\times\Z^{*}$, il existe un unique couple $(q,r)\in\Z^{2}$ tel que :

$$a=bq+r \qquad\text{avec}\qquad 0\leqslant r<|b|$$

Propriétés à réutiliser constamment :

$$\big(d\mid a \text{ et } d\mid b\big)\implies \forall(u,v)\in\Z^{2},\ d\mid (au+bv)$$

Cette dernière — un diviseur commun divise toute combinaison linéaire — est l'argument qui revient dans presque toutes les démonstrations du chapitre.

Piège Tout entier divise $0$, et $0$ ne divise que $0$. Ces deux cas dégénérés font tomber bien des raisonnements écrits trop vite : vérifiez toujours que le diviseur est non nul avant de diviser.
b

PGCD, algorithme d'Euclide, relation de Bézout

Exigible Algorithme

Contenus

  • PGCD de deux entiers dont l'un est non nul.
  • Algorithme d'Euclide.
  • Relation de Bézout ; algorithme d'Euclide étendu.
  • PPCM.

Capacités & commentaires

  • Notations $a\wedge b$ ou $\mathrm{pgcd}(a,b)$ ; $a\vee b$ ou $\mathrm{ppcm}(a,b)$.
  • L'ensemble des diviseurs communs à $a$ et $b$ est l'ensemble des diviseurs de $a\wedge b$.
  • L'algorithme d'Euclide étendu fournit un couple $(u,v)$ tel que $au+bv=a\wedge b$.
En clair

Le PGCD est le plus grand pour deux ordres à la fois, et c'est ce qui fait sa force. C'est le plus grand diviseur commun au sens de l'ordre usuel, et c'est aussi le plus grand au sens de la divisibilité : tout diviseur commun de $a$ et $b$ divise $a\wedge b$. La seconde propriété est bien plus utile que la première, et c'est elle qu'on emploie en démonstration.

L'algorithme d'Euclide repose sur une observation d'une ligne : si $a=bq+r$, alors les diviseurs communs de $a$ et $b$ sont exactement ceux de $b$ et $r$ — parce qu'un diviseur commun divise toute combinaison linéaire. Donc $a\wedge b=b\wedge r$, et l'on recommence avec un reste strictement plus petit. Comme les restes forment une suite d'entiers naturels strictement décroissante, elle atteint $0$ : l'algorithme termine, et le dernier reste non nul est le PGCD.

La relation de Bézout — l'existence de $u$ et $v$ tels que $au+bv=a\wedge b$ — s'obtient en remontant les divisions de l'algorithme. C'est l'algorithme d'Euclide étendu, et c'est lui que vous coderez. Attention : le couple $(u,v)$ n'est pas unique, il y en a une infinité.

Le PPCM joue le rôle symétrique : c'est le plus petit multiple commun, et tout multiple commun en est un multiple. La relation $ (a\wedge b)\times(a\vee b)=|ab|$ permet de le calculer sans effort supplémentaire une fois le PGCD connu.

ALGORITHME D'EUCLIDE — pgcd(252, 198) 252 = 1 × 198 + 54 198 = 3 × 54 + 36 54 = 1 × 36 + 18 36 = 2 × 18 + 0 le reste de la ligne devient le diviseur dernier reste non nul → pgcd(252, 198) = 18 Les restes 54, 36, 18, 0 décroissent strictement : l'algorithme termine. EN REMONTANT — BÉZOUT 18 = 54 − 36 36 = 198 − 3×54 54 = 252 − 198 18 = 4×252 − 5×198 Le couple (4, −5) est un couple de Bézout — il y en a une infinité. C'est cette remontée que réalise l'algorithme d'Euclide étendu.
À chaque étape, le diviseur devient le dividende et le reste devient le diviseur. Le PGCD est le dernier reste non nul ; la remontée des égalités fournit la relation de Bézout.
À savoir de tête $$\{ \text{diviseurs communs à } a \text{ et } b \} = \{ \text{diviseurs de } a\wedge b \}$$ $$a=bq+r \implies a\wedge b = b\wedge r$$

Relation de Bézout — elle existe toujours :

$$\exists (u,v)\in\Z^{2},\quad au+bv=a\wedge b$$

Lien PGCD-PPCM :

$$(a\wedge b)\times(a\vee b)=|ab|$$

Homogénéité, utile pour simplifier :

$$(ka)\wedge(kb)=|k|\,(a\wedge b)$$
Piège L'existence d'un couple $(u,v)$ avec $au+bv=d$ ne prouve pas que $d$ est le PGCD : elle prouve seulement que $a\wedge b$ divise $d$. Par exemple $2\times4+1\times(-2)=6$ sans que $6$ soit le PGCD de $4$ et $2$. La réciproque n'est vraie que dans le cas $d=1$ — c'est précisément le théorème de Bézout du point suivant.
c

Entiers premiers entre eux — Bézout et Gauss

Exigible Démonstrations exigibles

Contenus

  • Entiers premiers entre eux.
  • Théorème de Bézout.
  • Lemme de Gauss.
  • PGCD d'un nombre fini d'entiers ; entiers premiers entre eux dans leur ensemble, deux à deux.

Capacités & commentaires

  • Forme irréductible d'un rationnel.
  • « Premiers entre eux dans leur ensemble » n'implique pas « deux à deux ».
En clair

Le théorème de Bézout est une équivalence, et c'est ce qui le rend si utile : $a$ et $b$ sont premiers entre eux si et seulement si il existe $u,v$ avec $au+bv=1$. Le sens direct vient de la relation de Bézout du point b ; la réciproque est immédiate, puisqu'un diviseur commun divise alors $1$.

En pratique, c'est le moyen le plus rapide de démontrer que deux entiers sont premiers entre eux : on exhibe une combinaison valant $1$. Pour montrer que $n$ et $n+1$ sont premiers entre eux, il suffit d'écrire $1\times(n+1)-1\times n=1$.

Le lemme de Gauss — si $a$ divise $bc$ et si $a$ est premier avec $b$, alors $a$ divise $c$ — est l'outil qui permet de « simplifier » une divisibilité. Sa démonstration tient en deux lignes à partir de Bézout : on multiplie $au+bv=1$ par $c$.

La distinction « dans leur ensemble » / « deux à deux » est explicitement signalée. $6$, $10$ et $15$ ont pour PGCD $1$, donc sont premiers entre eux dans leur ensemble ; pourtant aucun couple ne l'est. L'implication ne va que dans un sens.

À savoir de tête

Théorème de Bézout — une équivalence, à ne pas confondre avec la relation du point b :

$$a\wedge b=1 \iff \exists(u,v)\in\Z^{2},\ au+bv=1$$

Lemme de Gauss :

$$\big(a\mid bc \ \text{ et }\ a\wedge b=1\big) \implies a\mid c$$

Deux conséquences très employées :

$$\big(a\mid c,\ b\mid c,\ a\wedge b=1\big)\implies ab\mid c$$ $$a\wedge b=1 \text{ et } a\wedge c=1 \implies a\wedge(bc)=1$$

Forme irréductible : tout rationnel s'écrit $\dfrac{p}{q}$ avec $q\geqslant1$ et $p\wedge q=1$, de façon unique.

Astuce de démonstration Pour montrer que deux expressions en $n$ sont premières entre eux, cherchez une combinaison linéaire à coefficients entiers qui élimine $n$. Pour $2n+1$ et $3n+2$ : $3(2n+1)-2(3n+2)=-1$, donc leur PGCD divise $1$. Cette technique règle la quasi-totalité des exercices de ce type, et elle est plus rapide qu'un algorithme d'Euclide symbolique.
d

Nombres premiers et décomposition

Exigible Crible

Contenus

  • Nombres premiers ; crible d'Ératosthène.
  • L'ensemble des nombres premiers est infini.
  • Existence et unicité de la décomposition en produit de facteurs premiers.
  • Valuation $p$-adique.

Capacités & commentaires

  • Notation $v_p(n)$.
  • Expression du PGCD et du PPCM à l'aide des valuations $p$-adiques.
  • Caractérisation de la divisibilité par les valuations.
En clair

Le crible d'Ératosthène repose sur une remarque qui rend l'algorithme efficace : si $n$ n'est pas premier, il admet un diviseur premier inférieur ou égal à $\sqrt n$. On peut donc s'arrêter là. C'est aussi le test de primalité naïf que vous coderez en informatique.

L'infinitude des nombres premiers se démontre par l'absurde, en une demi-page, selon un argument dû à Euclide : si $p_1,\dots,p_n$ étaient les seuls, l'entier $N=p_1\cdots p_n+1$ ne serait divisible par aucun d'eux, or il admet un diviseur premier. Contradiction. Sachez la refaire, elle est régulièrement demandée en colle.

La valuation $p$-adique $v_p(n)$ est l'exposant de $p$ dans la décomposition de $n$. Sa force est de transformer les questions multiplicatives en questions additives : $v_p(ab)=v_p(a)+v_p(b)$. Divisibilité, PGCD et PPCM se lisent alors terme à terme, avec des minimums et des maximums. C'est de loin l'outil le plus commode pour les exercices sur les exposants.

CRIBLE D'ÉRATOSTHÈNE — ON S'ARRÊTE À 7, CAR 7² > 60 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 multiples de 2 de 3 de 5 de 7 Les 17 cases vertes sont les nombres premiers inférieurs à 60. Un nombre non premier admet toujours un diviseur premier inférieur à sa racine carrée : cribler jusqu'à 7 suffit donc ici.
Le crible n'essaie pas de reconnaître les nombres premiers : il élimine les autres. Chaque trait de couleur correspond à un passage, et il suffit de quatre passages pour cribler jusqu'à 60.
À savoir de tête

Test de primalité — la raison pour laquelle le crible s'arrête à $\sqrt n$ :

$$n \text{ non premier},\ n\geqslant2 \implies \exists p \text{ premier},\ p\mid n \ \text{ et }\ p\leqslant\sqrt n$$

Décomposition en facteurs premiers — existence et unicité :

$$n=\prod_{p \text{ premier}} p^{\,v_p(n)} \qquad (n\geqslant1,\ \text{presque tous les } v_p(n) \text{ nuls})$$

Les valuations transforment le multiplicatif en additif :

$$v_p(ab)=v_p(a)+v_p(b) \qquad v_p(a^{k})=k\,v_p(a)$$ $$a\mid b \iff \forall p,\ v_p(a)\leqslant v_p(b)$$ $$v_p(a\wedge b)=\min\big(v_p(a),v_p(b)\big) \qquad v_p(a\vee b)=\max\big(v_p(a),v_p(b)\big)$$

La relation $\min+\max=$ somme redonne immédiatement $(a\wedge b)(a\vee b)=|ab|$ du point b. C'est la démonstration la plus courte de cette identité.

Lemme d'Euclide, cas particulier du lemme de Gauss avec $p$ premier :

$$p \text{ premier},\ p\mid ab \implies p\mid a \ \text{ ou }\ p\mid b$$
Piège $1$ n'est pas premier. Ce n'est pas une convention arbitraire : si on l'admettait, l'unicité de la décomposition en facteurs premiers tomberait, puisqu'on pourrait insérer autant de facteurs $1$ qu'on veut. Toute la théorie repose sur cette exclusion.
e

Congruences

Exigible ℤ/nℤ hors programme

Contenus

  • Relation de congruence modulo un entier.
  • Opérations sur les congruences : somme, produit, puissance.
  • Inversibilité modulo $n$.
  • Petit théorème de Fermat.

Capacités & commentaires

  • Notation $a\equiv b\ [n]$.
  • $a$ est inversible modulo $n$ si et seulement si $a\wedge n=1$ ; l'inverse se calcule par l'algorithme d'Euclide étendu.
  • Les anneaux $\Z/n\Z$ sont hors programme.
En clair

Une congruence est une égalité qui oublie les multiples de $n$. $a\equiv b\ [n]$ signifie que $n$ divise $a-b$. C'est la relation d'équivalence promise au chapitre 1, et ses classes forment une partition de $\Z$ — mais on s'arrête là, puisque l'ensemble quotient est hors programme.

Ce qu'on peut faire, et ce qu'on ne peut pas. On additionne, on multiplie, on élève à une puissance : les congruences se comportent comme des égalités. On ne peut pas simplifier : de $6\equiv0\ [4]$ et $6=2\times3$ on ne tire rien sur $2$ ou $3$. La simplification n'est licite que si le facteur simplifié est premier avec le module — c'est le lemme de Gauss déguisé.

L'inversibilité modulo $n$ est un résultat déguisé de Bézout : $a$ admet un inverse modulo $n$ si et seulement si $a\wedge n=1$, et cet inverse est le $u$ de la relation $au+nv=1$. C'est exactement ce que calcule l'algorithme d'Euclide étendu, et c'est le cœur du chiffrement RSA — que vous croiserez peut-être en informatique.

Le petit théorème de Fermat donne un raccourci pour les grandes puissances : modulo un nombre premier $p$, élever à la puissance $p$ ne change rien. C'est ce qui permet de calculer $2^{1000}$ modulo $7$ sans jamais écrire un nombre de plus de deux chiffres.

À savoir de tête $$a\equiv b\ [n] \iff n\mid (a-b) \iff a \text{ et } b \text{ ont le même reste dans la division par } n$$

Compatibilité — mais pas la simplification :

$$\big(a\equiv b\ [n] \text{ et } c\equiv d\ [n]\big)\implies a+c\equiv b+d\ [n] \ \text{ et }\ ac\equiv bd\ [n]$$ $$a\equiv b\ [n] \implies \forall k\in\N,\ a^{k}\equiv b^{k}\ [n]$$

Simplification, sous condition :

$$\big(ac\equiv bc\ [n] \text{ et } c\wedge n=1\big)\implies a\equiv b\ [n]$$

Inversibilité :

$$a \text{ inversible modulo } n \iff a\wedge n=1$$

Petit théorème de Fermat, pour $p$ premier :

$$\forall a\in\Z,\quad a^{p}\equiv a\ [p] \qquad\text{et si de plus } p\nmid a :\qquad a^{\,p-1}\equiv 1\ [p]$$

La première version vaut pour tout $a$ ; la seconde exige que $p$ ne divise pas $a$. Confondre les deux est l'erreur la plus fréquente sur ce théorème.

Astuce : calculer une grande puissance modulo n Trois réflexes, dans cet ordre. Chercher un petit exposant $k$ tel que $a^{k}\equiv\pm1$ : tout se ramène alors à la division de l'exposant par $k$. Sinon, appliquer Fermat si le module est premier. Sinon, procéder par exponentiation rapide — élever au carré successivement — ce qui est aussi l'algorithme que vous coderez en informatique, en $O(\log n)$ multiplications.
Piège Le petit théorème de Fermat exige que le module soit premier. Modulo $15$, qui ne l'est pas, $2^{14}\equiv4$ et non $1$. Sa réciproque est fausse également : il existe des entiers composés vérifiant la congruence pour tout $a$ premier avec eux — les nombres de Carmichael, hors programme mais bons à connaître pour ne pas croire qu'on tient là un test de primalité.

Les limitesCe qui n'est pas au programme dans ce chapitre

NotionStatutCommentaire
Les anneaux $\Z/n\Z$Hors programmeConséquence directe de l'exclusion des ensembles quotients à la section 1. Toute l'arithmétique modulaire se fait avec des congruences, jamais avec des classes.
Théorème des restes chinoisNon exigibleIl ne figure pas dans la liste des contenus. Un exercice peut faire retrouver le résultat sur un cas particulier, mais il ne peut pas être invoqué comme un théorème du cours.
Indicatrice d'Euler, théorème d'EulerHors programmeSeul le petit théorème de Fermat est au programme, pas sa généralisation.
Équations diophantiennes généralesNon exigibleLes équations $ax+by=c$ se traitent avec Bézout et Gauss, mais il n'y a pas de théorie à connaître.
Groupes cycliques, ordre d'un élémentChapitre 8Les structures algébriques arrivent à la section suivante — et sans passer par les quotients.
Cryptographie, RSAHors programmeSujet d'ouverture possible en informatique, jamais exigible en mathématiques.

Pour ce chapitre précisémentOutils utiles

C'est le chapitre où maths et informatique se recouvrent le plus. Coder les algorithmes du cours est le meilleur moyen de les comprendre — et c'est du travail qui compte deux fois.

  • CoderPython — écrivez l'algorithme d'Euclide en cinq lignes, puis sa version étendue. Comparez vos coefficients de Bézout à ceux de math.gcd et d'une remontée faite à la main.
  • CoderOCaml et C — les mêmes algorithmes, dans les deux langages de la filière. Le crible d'Ératosthène en C est l'exercice classique sur les tableaux ; en OCaml, l'écriture récursive d'Euclide est d'une concision remarquable.
  • VérifierXcasgcd, iegcd (Bézout), ifactor (décomposition), powmod, is_prime. Idéal pour contrôler un calcul à la main sur de grands nombres.
  • ExplorerOEIS — l'encyclopédie des suites d'entiers. Tapez les premiers termes d'une suite arithmétique rencontrée en exercice : vous saurez immédiatement si elle est classique.
  • RéviserAnki — les énoncés de Bézout, Gauss et Fermat sont courts et se confondent facilement. Une carte chacun, avec les hypothèses exactes.

Le détail des installations, dont la chaîne C et OCaml, est sur la page Outils, logiciels, matériel.

Travailler ce chapitreRessources

Histoire

Le plus vieil algorithme encore enseigné

Euclide (vers 300 av. J.-C.) · Ératosthène (vers 276-194 av. J.-C.) · Bézout (1730-1783) · Gauss (1777-1855) · Fermat (1601-1665)

L'algorithme d'Euclide figure dans les Éléments, livre VII, vers 300 avant notre ère — sous forme géométrique : étant donné deux segments, trouver la plus grande unité commune. Il y est déjà accompagné de la preuve de terminaison. Aucun autre algorithme enseigné aujourd'hui n'a un tel âge, et il reste, sous sa forme étendue, au cœur de la cryptographie contemporaine.

Ératosthène, contemporain d'Euclide et bibliothécaire d'Alexandrie, est surtout connu pour avoir mesuré la circonférence de la Terre à quelques pour cent près, en comparant l'ombre de deux gnomons. Son crible est un sous-produit de la même tournure d'esprit : éliminer méthodiquement plutôt que chercher directement.

Fermat, magistrat toulousain qui faisait des mathématiques en amateur, énonce son « petit » théorème dans une lettre de 1640, sans démonstration — comme la plupart de ses résultats. C'est Euler qui le démontre un siècle plus tard. Quant à Étienne Bézout, il établit sa relation pour les polynômes ; le cas des entiers, plus ancien, remonte en réalité à Bachet de Méziriac en 1624, mais l'usage a tranché.