Arithmétique
Cours complet · mathématiques expertes (terminale), chapitre 3 · terminale, option mathématiques expertes
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
L'arithmétique est l'étude des nombres entiers. Domaine parmi les plus anciens des mathématiques (Euclide, vers 300 av. J.-C.), elle connaît depuis un demi-siècle des applications spectaculaires : cryptographie (RSA), codes correcteurs, clés de contrôle. Ce chapitre présente la divisibilité, les congruences, le PGCD et les théorèmes de Bézout et de Gauss, puis les nombres premiers.
3.1 Divisibilité et Division Euclidienne
3.1.1 Divisibilité dans
Soient et deux entiers relatifs. On dit que divise (ou que est un multiple de ), et on note , s'il existe un entier tel que :
Soient , , des entiers relatifs.
- Si et , alors (transitivité).
- Si et , alors divise toute combinaison linéaire () — en particulier et .
- Si et , alors : un entier non nul n'a qu'un nombre fini de diviseurs.
3.1.2 Division euclidienne
Soient et . Il existe un unique couple d'entiers tels que :
L'entier est le quotient et le reste de la division euclidienne de par .
(quotient , reste ) ; pour un négatif : (le reste doit rester dans : , ).
3.2 Congruences
Soit . Deux entiers et sont congrus modulo , ce que l'on note
si divise — de façon équivalente, si et ont le même reste dans la division euclidienne par .
Soit . Si et , alors :
et pour tout entier : .
Démonstration (— compatibilité avec le produit)
Par hypothèse, et avec . Alors :
donc . La compatibilité avec les puissances s'en déduit par récurrence.
Quel est le reste de modulo (c'est-à-dire son chiffre des unités) ? On calcule les premières puissances modulo 10 : , , , . Comme , on écrit :
Le chiffre des unités de est .
3.3 PGCD, Théorèmes de Bézout et de Gauss
3.3.1 PGCD et algorithme d'Euclide
Soient et deux entiers non tous deux nuls. Le PGCD de et , noté , est le plus grand entier positif qui divise à la fois et . Deux entiers sont dits premiers entre eux si .
Si (division euclidienne), alors :
En effet, tout diviseur commun de et divise , et tout diviseur commun de et divise : les couples et ont les mêmes diviseurs communs.
Méthode : Algorithme d'Euclide
Pour calculer () : on remplace par où est le reste de la division de par , et on recommence jusqu'à obtenir un reste nul. Le PGCD est le dernier reste non nul.
Calculons :
Le dernier reste non nul est : .
3.3.2 Théorème de Bézout
Soient et deux entiers non tous deux nuls et . Alors il existe des entiers et tels que :
Démonstration ((exigible) — écriture du PGCD sous la forme )
Considérons l'ensemble des entiers strictement positifs de la forme (). Cet ensemble est non vide (il contient ou ), donc admet un plus petit élément .
- divise : la division euclidienne de par s'écrit avec . Alors :
est de la forme . Si , alors et , ce qui contredit la minimalité de . Donc et . De même, .
- est le plus grand diviseur commun : tout diviseur commun de et divise la combinaison linéaire , donc .
Ainsi , qui s'écrit bien sous la forme .
Deux entiers et sont premiers entre eux si et seulement s'il existe des entiers et tels que :
Démonstration
Si , l'identité de Bézout fournit et . Réciproquement, si , tout diviseur commun de et divise , donc .
Méthode : Trouver un couple de Bézout (algorithme d'Euclide étendu)
On « remonte » l'algorithme d'Euclide. Pour :
D'où le couple : .
3.3.3 Théorème de Gauss
Soient , , des entiers. Si divise le produit et si est premier avec , alors divise :
Démonstration ((exigible))
Comme , le théorème de Bézout donne des entiers et tels que . Multiplions par :
Or divise (évident) et divise (car par hypothèse). Donc divise la somme, c'est-à-dire .
Si , alors admet un inverse modulo : il existe tel que (le coefficient d'une relation de Bézout convient). L'équation a alors pour solutions .
3.4 Nombres Premiers
Un entier naturel est premier si ses seuls diviseurs positifs sont et . Les premiers nombres premiers :
Tout entier admet un diviseur premier. Si n'est pas premier, il admet un diviseur premier — pour tester la primalité de , il suffit donc d'essayer les diviseurs premiers jusqu'à .
L'ensemble des nombres premiers est infini.
Démonstration ((exigible) — Euclide)
Raisonnons par l'absurde : supposons qu'il n'existe qu'un nombre fini de nombres premiers, notés . Considérons :
L'entier admet un diviseur premier , qui est l'un des . Mais alors divise à la fois et le produit , donc leur différence : — ce qui est impossible pour un nombre premier (). Contradiction : il existe une infinité de nombres premiers.
Tout entier s'écrit de façon unique (à l'ordre des facteurs près) comme produit de nombres premiers :
où sont premiers et .
et . On retrouve (produit des facteurs communs avec le plus petit exposant).
Soit un nombre premier et un entier non divisible par . Alors :
Version générale : pour tout entier , .
(avec , ). On en déduit par exemple .
3.5 Méthodes Clés
Méthode : Résoudre une équation diophantienne
- Calculer . L'équation a des solutions entières si et seulement si .
- Trouver une solution particulière (Bézout, remontée d'Euclide, ou essai).
- Forme générale : soustraire de donne ; après division par et application du théorème de Gauss :
3.6 Algorithmique et Programmation
def pgcd(a, b):
# Algorithme d'Euclide : le PGCD est le dernier reste non nul
while b != 0:
a, b = b, a % b
return a
def bezout(a, b):
# Euclide etendu : renvoie (d, x, y) avec a*x + b*y = d = pgcd(a, b)
if b == 0:
return (a, 1, 0)
d, u, v = bezout(b, a % b)
return (d, v, u - (a // b) * v)
# pgcd(252, 198) renvoie 18 ; bezout(252, 198) renvoie (18, 4, -5)
Algorithme d'Euclide et couple de Bézout
def crible(n):
# Renvoie la liste des nombres premiers <= n
est_premier = [True] * (n + 1)
est_premier[0] = est_premier[1] = False
for p in range(2, n + 1):
if est_premier[p]:
for multiple in range(p * p, n + 1, p):
est_premier[multiple] = False
return [p for p in range(n + 1) if est_premier[p]]
def decomposition(n):
# Renvoie la liste des facteurs premiers de n (avec repetition)
facteurs = []
p = 2
while p * p <= n:
while n % p == 0:
facteurs.append(p)
n = n // p
p = p + 1
if n > 1:
facteurs.append(n)
return facteurs
# crible(30) : [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
# decomposition(252) : [2, 2, 3, 3, 7]
Crible d'Ératosthène et décomposition en facteurs premiers