Leçon 13 : Nombres premiers, existence et unicité de la

publicité
Leçon 13 : Nombres premiers, existence et unicité de la
décomposition d’un entier en produit de facteurs premiers. Infinitude de l’ensemble des nombres premiers.
Exemples d’algorithmes de recherche de nombres premiers.
Pré-requis :
−
Notion de division euclidienne dans Z.
−
PGCD et PPCM de deux entiers.
−
Notions de diviseur, multiple, ensemble de diviseurs.
−
Nombres premiers entre eux, Théorème de Gauβ.
Cadre : Dans toute la suite, un entier naturel premier sera appelé « nombre premier ». On notera P
l’ensemble des nombres premiers. On notera D(n) l’ensemble des diviseurs de n. Par abus de langage,
l’expression « n entier » signifiera « n entier naturel ».
1 Généralités
Définition 1. Un entier n ≥ 2 est dit premier s’il admet exactement deux diviseurs : 1 et lui-même, i.e.
si D(n) = {1, n}.
Exemple.
−
2 est premier. C’est par ailleurs le seul entier pair premier.
−
3, 5, 7 sont premiers.
Lemme 2. Tout entier a ≥ 2 admet un diviseur premier.
Preuve. Soit a un entier supérieur à 2. Deux cas se présentent :
•
•
Si a est premier, alors a admet lui-même comme diviseur.
Si a n’est pas premier, a possède un diviseur strictement compris entre 1 et a. On note a1, , an les
diviseurs de a que l’on range par ordre croissant, on a alors D(a) = {1, a1, , an , a}. On a a1 premier.
En effet, si a1 n’était pas premier, il existerait un diviseur d de a1 compris strictement entre 1 et
a1, et on aurait d|a1 et a1|a, donc d|a ce qui est absurde (car d 1 et a1 est le plus petit diviseur
de a strictement plus grand que 1.).
1
2
Section 1
Proposition 3. Tout nombre premier p est premier avec tout entier n qu’il ne divise pas.
Preuve. On a D(p) = {1, p}. Si p ∤ n, alors p D(n) et ainsi D(p) ∩ D(n) = {1}.
Corollaire 4. Deux nombres premiers distincts p et q sont premiers entre eux.
Preuve.
PGCD(p, q)|p
PGCD(p, q) ∈ D(p) = {1, p} car p est premier.
PGCD(p, q)|q
PGCD(p, q) ∈ D(q) = {1, q } car q est premier.
Ainsi PGCD(p, q) ∈ D(p) ∩ D(q) = {1}, et on a donc PGCD(p, q) = 1.
Proposition 5. Soit p un nombre premier, et soit a et b deux entiers. Alors p|ab
p|a ou p|b.
Preuve. Si p ne divise pas a, par la proposition 3., il est premier avec a, donc si p|ab, on a forcément
p|b, par le théorème de Gauβ.
Corollaire 6. Si un nombre premier divise un produit de facteurs premiers, alors il est égal à l’un d’entre
eux.
Preuve. Cela découle de la proposition 5. et du corollaire 4..
Proposition
7. Un entier n ≥ 2 est premier si, et seulement s’il n’admet pas de diviseur d0 1 vérifiant
√
d0 > n .
Preuve.
2
Montrons l’implication directe par contraposée : Si n admet un diviseur d0 > 1 tel que d0 ≤ n, alors on
a 1 < d0 < n et n n’est pas premier. Réciproquement, tout entier n ≥ 2 non premier admet un diviseur premier d0 différent de 1 et lui-même. D’où n = d0 × Q avec Q ∈ N et d0 ≤ Q. Ainsi
√
2
2
d0 × Q ≥ d0
n ≥ d0
d0 ≤ n
Exemple. Le crible d’Eratosthène1 :
3
Décomposition d’un entier en produit de facteurs premiers
Principe : Pour trouver tous les nombres premiers entre 2 et n, on écrit et répertorie tous les entiers
entre 2 et n dans un tableau. Ensuite, on procède comme suit :
−
On barre tous les entiers pairs (car ils admettent 2 comme diviseur) sauf 2.
−
On barre ensuite tous les multiples de 3 sauf 3.
−
Le premier entier non barré n’est multiple ni de 2, ni de 3. Il est donc premier et il s’agit de 5. On
barre donc tous les multiples de 5 sauf 5.
−
L’entier suivant non barré n’est multiple ni de 2, ni de 3, ni de 5. Il est donc premier et il s’agit de
7. On barre donc tous les multiples de 7 sauf 7.
−
On itère le procédé de la même manière en barrant tous les multiples des nombres premiers suivants 7 sauf eux-mêmes.
√
On s’arrête lorsqu’on a barré tous les multiples des nombres premiers p vérifiant p ≤ n .
−
Le tableau suivant donne les liste des nombres premiers entre 2 et 100 :
11
21
31
41
51
61
71
81
91
2
12
22
32
42
52
62
72
82
92
3
13
23
33
43
53
63
73
83
93
4
14
24
34
44
54
64
74
84
94
5
15
25
35
45
55
65
75
85
95
6
16
26
36
46
56
66
76
86
96
7
17
27
37
47
57
67
77
87
97
8
18
28
38
48
58
68
78
88
98
9 10
19 20
29 30
39 40
49 50
59 60
69 70
79 80
89 90
99 100
Tableau 1. Un exemple du crible d’ératosthène (n = 100)
Théorème 8. P est infini.
Preuve. Supposons que card(P) = k, i.e. P = {p1, , pk }. Considérons l’entier n = p1 pk + 1. Aucun
des nombres premiers de P ne divise n (car le reste de la division euclidienne de n par un quelconque élément de P vaut 1), et comme 2 est un nombre premier, 2 est un élément de P donc il existe i ∈ {1, , k}
tel que pi = 2 et n = 2p1 pi−1 pi+1 pk + 1 > 2, donc, par le lemme 2., n admet un diviseur premier q,
impliquant q ∈ P, ce qui est absurde.
2 Décomposition d’un entier en produit de facteurs premiers
1. On reviendra sur le crible, notamment avec une programmation possible à la calculatrice, dans les annexes.
4
Section 2
Théorème 9. Tout entier n > 2 se décompose de manière unique sous la forme
n=
k
Y
i
pα
i
(1)
i=1
où les pi sont des nombres premiers tels que p1 < p2 < < pk et où les (αi)i∈{1, ,k} sont des entiers
non nuls.
L’écriture (1) définit ce que l’on appelle la décomposition de n en produit de facteurs premiers2.
Preuve.
•
Existence :
On montre par récurrence que tout entier n ≥ 2 admet une décomposition en produit de facteurs premiers.
Si n = 2, 2 est premier et il est son seul facteur premier.
On pose P(n) la propriété : « Tout entier k tel que 2 ≤ k ≤ n admet une décomposition en produit de facteurs premiers. »
Pour l’entier n + 1, deux cas se présentent :
−
Si n + 1 est premier, il est son seul facteur premier et se décompose donc en produit de facteurs premiers.
−
Si n + 1 n’est pas premier, d’après le lemme 2., il admet un diviseur premier q, ainsi n + 1 =
ql avec l < n + 1 donc l ≤ n et on applique P(n) à l. Donc n + 1 admet une décomposition en
produit de facteurs premiers.
D’où, pour tout n ∈ N, n admet une décomposition en produit de facteurs premiers.
•
Unicité :
−
Si n est premier, il est son seul et unique facteur premier, donc admet une unique décomposition en produit de facteurs premiers.
−
Si n n’est pas premier, alors il existe p1, , pl0 avec p1 < < pl0, q1, , ql1 avec q1 < < ql1
des nombres premiers distincts et α1, , αl0, β1, , βl1 des entiers non nuls tels que
β1
l0
l1
1
pα
1 pl0 = n + 1 = q1 ql1
α
β
Supposons que l0 < l1. On a p1 | q1β1 ql1l1, donc il existe i ∈ {1, , l1} tel que p1 | qi, impliquant que p1 = qi (par le corollaire 7.) et l’ordre des termes n’intervenant pas, on peut supposer p1 = q1, et ainsi, on a,
β
1 −1
pα
pl0l0 = q1β1−1 ql1l1
1
α
β
En raisonnant ainsi, de proche en proche, on obtient que
p1 = q1, , pl0 = ql0
et ainsi
p1β1 −α1 pl0l0
β −αl0
0 +1
× ql0l+1
ql1l1 = 1
β
β
impliquant que βi = 0 pour i ∈ Jl0 + 1, l1K et que βi − αi = 0 pour i ∈ J1, l0K. D’où on a
l1 = l0
et
α i = βi
pour i ∈ J1, l0K
On a donc montré que cette décomposition est unique pour tout entier n ≥ 2.
2. Ce théorème est en fait le fait caché que Z est un anneau factoriel. Ce caractère de l’anneau Z sera abordé dans les
annexes.
5
Divers résultats utilisant les nombres premiers
Une application de ce théorème est le calcul du PGCD et du PPCM de deux entiers.3 En effet,
lorsqu’on connait la décomposition de deux entiers n et m en produits de facteurs premiers, on peut écrire
n=
k
Y
i=1
i
pα
et
i
m=
k
Y
β
pj j
j=1
où on a p1 < < pk des nombres premiers et α1, , ak , β1, , βk des entiers non nuls. La condition
n|m équivaut à dire que ∀i ∈ {1, , k }, αi ≤ βi. En effet, n|m veut dire qu’il existe c ∈ N tel que m = nc.
Notons c = p1γ1 pkγk la décomposition de c. La décomposition de m en produit de facteurs premiers étant
unique, il en résulte que pour tout i ∈ {1, , k}, βi = αi + γi. Ainsi, d = pν11 pνkk divise à la fois n et m si,
et seulement si les puissances di de d vérifient di ≤ αi et di ≤ βi. Donc, dans tous les cas, pour tout i ∈
k , βk )
1, β1)
= δ = PGCD(n, m). Un raisonnement
pmin(α
{1, , k}, di ≤ min (αi , βi), donc d divise pmin(α
1
k
max(αk ,βk)
max(α1,β1)
analogue nous donne PPCM(n, m) = µ = p1
. Pour récapituler, on a les formules sui pk
vantes :
k
k
Y
Y
i ,βi)
i , βi)
PGCD(n, m) =
pmin(α
et PPCM(n, m) =
pmax(α
i
i
i=1
i=1
Exemple : On calcule le PGCD et le PPCM de n = 6 et m = 512 :
n = 2 × 3 et m = 29 ainsi PGCD(n, m) = 2 et PPCM(n, m) = 29 × 3 = 1536
3 Divers résultats utilisant les nombres premiers
Théorème 10. (Petit théorème de Fermat)
Soit p un nombre premier et a un entier non nul. Alors a p ≡ a mod(p)
Preuve. Considérons deux cas :
- Si a est un multiple de p, le résultat se déduit immédiatement du fait que ap − a = kp, avec k
entier.
- Si a n’est pas un multiple de p, les restes possibles de la division euclidienne de a par p sont les
éléments de l’ensemble R p(a) 6 {1, 2, , (p − 1)}. Considérons alors la liste R p′ (a) 6 {a, 2a, , (p − 1)a}.
Tous ces nombres sont distincts, et non nuls modulo p. En effet, un élément de cette liste est de la forme
ka, k ∈ J1, p − 1K, et on a les conséquences suivantes :
•
•
ka n’est pas divisible par p, car, p étant premier, il est premier avec tous les nombres qui lui sont
strictement inférieurs, donc il est premier avec k, et si p divisait ka, par le lemme de Gauβ, p diviserait a, ce qui est absurde.
Si k et k ′ (k, k ′ ∈ J1, p − 1K) sont distincts modulo p (i.e. k − k ′ 0 mod(p)), alors ka et k ′a le sont
aussi modulo p. En effet, supposons le contraire, i.e. ka ≡ k ′a mod(p), alors a(k − k ′) ≡ 0 mod(p), ce
qui est impossible par hypothèse (car a 0 mod(p) et k − k ′ 0 mod(p)).
3. On reviendra sur ce résultat avec un résultat fort sympathique présentable à la calculatrice dans les annexes.
6
Section 3
En conséquence, les éléments de R p′ (a) sont encore, modulo p, et dans un ordre sans doute différent,
les éléments de R p(a), et on peut écrire modulo p,
p−1
Y
i=1
ia ≡
p−1
Y
k mod(p)
k=1
ap−1(p − 1)! ≡ (p − 1)! mod(p)
Comme (p − 1)! 0 mod(p) (car chacun des termes de (p − 1)! n’est congru à 0 modulo p), on a le
résultat cherché, à savoir
a p−1 ≡ 1 mod(p) ou encore a p ≡ a mod(p)
Théorème 11. (Théorème de Wilson)
Soit p un entier naturel, p ≥ 2. p est un nombre premier si, et seulement si (p − 1)! ≡ − 1 mod(p)
Preuve.4
Montrons par contraposée l’implication directe : Supposons p non premier, il admet donc un diviseur d
(1 < d < p) tel que p = kd (avec aussi 1 < k < p). Considérons deux cas :
•
•
Si k et d sont distincts, k et d sont présents dans la liste L = {1, 2, , p − 1} et il suffit que l’on ait
(p − 1)! ≡ 0 mod(p)
Si k et d sont égaux, i.e. p = k 2, deux cas encore se présentent : Si k est non premier, il suffit de
reprendre le même raisonnement que pour le point précédent. Si, en revanche, k est premier, k est
présent dans la liste L. Montrons qu’il y a un multiple de k dans L1 = {k + 1, k + 2, , p − 1}.
Or p − 1 = k 2 − 1 = (k − 1)(k + 1). Ainsi :
−
−
Si k > 2, on a p − 1 > 2k (car k + 1 > k), et au moins 2k figure dans la liste L1.
Si k = 2, on a p = 4 et (p − 1)! = 3! = 6. Or 6 ≡ 2 mod(4) et non pas à − 1.
On a donc montré que si p n’etait pas premier, (p − 1)! − 1 mod(p).
Montrons l’autre implication : Supposons p premier.
Si p = 2, le cas est rapide à traiter car (2 − 1)! = 1 ≡ − 1 mod(2).
Si p > 2, considérons les éléments de la liste L ′ = {2, , p − 2}. Comme p > 2, p est impair donc p − 3
est pair, et il y a exactement p − 3 termes dans la liste L ′. Montrons que si on choisit x ∈ L ′, il existe un
unique y ∈ L ′ différent de x tel que xy ≡ 1 mod(p).
En effet, cet élément y est unique : Soit (y1, y2) ∈ (L ′)2 tels que xy1 ≡ 1 mod(p) et xy2 ≡ 1 mod(p).
Comme x ∈ L ′, x < p et puisque p est premier, x 0 mod(p). Or, on a x(y1 − y2) ≡ 0 mod(p) et, par ce qui
a été dit précédemment, on a forcément y1 − y2 ≡ 0 mod(p), soit y1 = y2 (car y1 et y2 sont dans L ′, donc
y1 < p et y2 < p).
Cet élément y existe : En effet, pour k ∈ L ′, considérons la liste L p′ = {k, 2k, , (p − 1)k}. Tous ces
produits sont distincts et non nuls, donc le sont aussi modulo p puisque p est premier, et forment donc
une suite de p − 1 nombres modulo p, à savoir 1, 2, , p − 1.
Un seul de ces produits vaut 1 modulo p.
•
•
Ce n’est pas k puisque k ∈ L ′.
Ce n’est pas k(p − 1) car k(p − 1) = kp − k ≡ − k mod(p) or − k ≡ p − k mod(p). Donc k(p − 1) est
au moins égal à 2.
4. Une autre preuve de ce théorème sera abordée dans les annexes.
7
Annexes
C’est donc un produit de la liste L p′ .
Ainsi, on a
(p − 1)! = 2 × 3 × × (p − 1) ≡ 1 × 1 × × 1 × (p − 1) mod(p)
et
(p − 1) ≡ − 1 mod(p)
On a donc montré que si p est premier, on a
(p − 1)! ≡ − 1 mod(p)
4 Annexes
4.1 Crible d’Eratosthène : le retour !
Pour réaliser le crible, nous avons besoin au préalable d’une fonction qui teste la primalité d’un entier.
Voici l’algorithme, écrit sous T.I. Voyage 200 :
prima(n)
Func
Local k
2→k
While k<n
If pgcd(k,n)=1 Then
k+1 → k
Else
Return 0
EndIf
EndWhile
Return 1
EndFunc
Voici des tests faits avec 15 et 31. Nous savons que 15 n’est pas premier (car divisible par 5) et que 31
l’est. En fait, le critère de primalité utilisé ici est celui donné dans la proposition 3. :
8
Section 4
Cette fonction ainsi définie, on va pouvoir écrire un « crible d’Eratosthène ». Si c’est mis entre guillemets, ce n’est pas pour des prunes, et le lecteur averti remarquera en fait que le « crible » effectué n’est
pas celui d’Eratosthène effectué dans cette leçon... En effet, celui qu’on va présenter ici teste la primalité
de TOUS les nombres compris entre 1 et n, alors que le crible d’Eratosthène NE reteste PAS les entiers
multiples de nombres premiers déjà détectés. Mais néanmoins l’algorithme suivant, écrit sous T.I. Voyage
200, est quand même accepté par les jurys du CAPES (et il faut savoir que si vous vous souvenez déjà
d’un algorithme pendant les deux heures de préparation, c’est déjà une sacrée performance...) :
eratost(n)
Func
Local k,l
nouvList(0) → l
2→k
While k 6 n
If prima(k)=1 Then
augmente(l,{k}) → l
EndIf
k+1 → k
EndWhile
Return l
EndFunc
Et voici une liste sortie pour n = 19 :
4.2 Décomposition en produits de facteurs premiers : le retour !
Avec la TI voyage 200 :
4.3 Une autre preuve du théorème de Wilson...
Rappelons l’énoncé du théorème :
Théorème 12. (Théorème de Wilson)
Soit p un entier naturel, p ≥ 2. p est un nombre premier si, et seulement si (p − 1)! ≡ − 1 mod(p)
Preuve.
Si p est premier, alors Z/pZ est un corps commutatif à p éléments, et tout élément du groupe multiplicatif ((Z/pZ)×, × ) = ((Z/pZ) {0̄}, × ) est racine du polynôme P (X) = X p−1 − 1 (par le théorème 10.)
et on a ainsi, pour tout X̄ ∈ (Z/pZ)×,
P (X̄ ) = X̄
p−1
− 1̄ =
p−1
Y
k=1
(X̄ − k¯ )
9
Compléments et bibliographie
En évaluant ce polynôme en X̄ = 0̄, il vient
− 1̄ =
p−1
Y
k=1
− k¯ = ( − 1) p−1(p − 1)!
Si p = 2, on a 1̄ = − 1̄ et pour p > 2, p est impair et ainsi ( − 1) p−1 = 1 d’où on a
− 1̄ = (p − 1)! dans Z/pZ, soit (p − 1)! ≡ − 1 mod(p)
Réciproquement, si p > 2 est tel que (p − 1)! = − 1̄ dans Z/pZ, Alors tout diviseur d de p compris entre
1 et p − 1 diviserait (p − 1)! = − 1 + kp, donc va diviser aussi − 1, ce qui donne d = 1 et donc p est premier.
4.4 Nombres de Fermat et de Mersenne
4.5 Caractérisation des nombres premiers de la forme 4n + 1 ou 4n + 3
4.6 Factorialité de Z
5 Compléments et bibliographie
Pour aller plus loin :
−
Le théorème d’Euler, comme une généralisation possible du petit théorème de Fermat.
−
Facteurs premiers et fonction ζ de Riemann.
−
Infinitude de l’ensemble des nombres premiers et fonction ζ de Riemann.
−
Probabilités et fonction ζ de Riemann.
−
Nombres de Bernouilli et fonction ζ de Riemann (extrait de l’épreuve 1 session 2009 du CAPES).
−
Théorie des corps finis, théorie de Galois.
Bibliographie :
−
http://astroplus.perso.neuf.fr/
−
http://serge.mehl.free.fr/anx/th_wilson.html
−
http://serge.mehl.free.fr/anx/th_fermat_pt.html
Téléchargement