Nombres premiers
Dany-Jack Mercier
IUFM de Guadeloupe, Morne Ferret,
BP399, Pointe-à-Pitre cedex 97159, France
dany-jack.mercier@univ-ag.fr
14 mai 2002
Prérequis pour les Sections 1 à4 :
- Dé …nitions et propriétés des ensembles Net Z, raisonnement par récurrence,
- Divisibilitédans un anneau intègre, et en particulier dans Z,
- Nombres premiers entre eux, Théorème de Gauss.
1 Dé … nition et premières propriétés
Dé … nition 1 Un entier relatif ndistinct de §1est premier si ses diviseurs sont les seuls
diviseurs triviaux §1et §n.
Lentier nest premier si et seulement si son opposé¡nlest. Lé tude des nombres premiers
de Zse ramène àcelle des entiers naturels premiers. Notons que nest premier si et
seulement si n=ab entraîne a=§1ou b=§1.
Lemme 1 Tout nombre di¤ é rent de §1admet un diviseur premier.
Preuve : Si n2Nnf1g, lensemble des diviseurs de nstrictement supérieurs à1nest
pas vide, donc possède un plus petit élément d. Montrons que dest premier. Si aest
un diviseur de dstrictement supérieur à1, alors a·d. Par transitivitéde la relation
divise, lentier adivisera net donc d·a. En conclusion a=det les seuls diviseurs
positifs de dsont 1et d.
Lemme 2 Tout nombre premier est premier avec tout nombre quil ne divise pas.
Preuve : Si pest premier, lensemble de ses diviseurs sera f§1;§pget les diviseurs
communs àpet àn, oùnest un entier quelconque non divisible par p, appartiendront
àf§1g.
Lemme 3 Si pest premier, alors (pjab )pjaou pjb):
0[cari0007] v 1.00 http://perso.wanadoo.fr/megamaths
c
°2002, D.-J. Mercier. Vous pouvez faire une copie de ces notes pour votre usage personnel.
1
Preuve : Si pne divise pas a,pest premier avec a, donc pjbdaprès le Théorème de
Gauss.
Remarque : Les propriétés des deux derniers Lemmes sont, en fait, des conditions
nécessaires et su¢santes pour quun nombre pdistinct de §1soit premier. En e¤et :
1) Si pest premier avec tout nombre quil ne divise pas, soit p=ab. Si pne divise pas
a,pest premier avec aet le Théorème de Gauss entraîne pjbdoùb=pu et 1 = au doù
a=§1. Si pdivise a,a=pu entraîne encore 1 = ub doùb=§1. Cela prouve que pest
premier.
2) Supposons la propriété “pjab )pjaou pjbvraie pour tous a; b. Si p=ab, alors
pjaou pjb. Si pdivise a, alors a=pu, doù1 = ub et b=§1. De la même manière pjb
entraîne a=§1.
2 Théorème fondamental de larithmétique
Lexistence dune division euclidienne dans Zpermet de prouver que Zest un anneau
principal. Un Théorème classique montre que tout anneau principal est factoriel ([2],
[3]) et par conséquent Zsera un anneau factoriel. Notons au passage que les mêmes
raisonnements sappliquent àlanneau des polynômes àune indéterminéeK[X]lorsque
Kdésigne un corps commutatif.
Nous donnons ci-dessous une preuve directe de la factorialitéde Z.
Théorème 1 Théorème fondamental.
Lanneau Zest factoriel, autrement dit pour tout n2Znf0;§1g,
1) Il existe "2 f§1g, des nombres premiers naturels p1; :::; pkdistincts deux àdeux et des
entiers naturels non nuls ®1; :::; ®ktels que n="p®1
1:::p®k
k.
2) Il y a unicitéde cette décomposition àlordre des facteurs près. Cela signie que
n="p®1
1:::p®k
k="0q¯1
1:::q¯m
m
entraîne "="0,k=met lexistence dune permutation ¾de Nk=f1; :::; kgtelle que
qi=p¾(i)et ¯i=®¾(i)pour tout i.
Preuve : On peut supposer n2N¤et "= 1. Lexistence et lunicitése montrent chacune
par récurrence sur n.
²Existence : Si n= 2,(p1;®1) = (2;1). Si n > 2,npossède au moins un diviseur
premier pdaprès le Lemme 1, et lon peut écrire n=pm avec m < n. Si m= 1, cest
ni. Sinon on applique lhypothèse récurrente àmpour obtenir une décomposition de n.
²Unicité: Elle est acquise si n= 2 puisque 2 = q¯1
1:::q¯m
mmontre que qidivise 2pour
tout i, autrement dit m= 1,q1= 2 et ¯1= 1. Supposons que lunicitésoit démontrée
jusquau rang n, et considérons les écritures n+ 1 = p®1
1:::p®k
k=q¯1
1:::q¯m
mavec ®1,:::,®k,
¯1,:::,¯m2N¤
, et oùles p1,:::,pk,q1,:::,qm2Nsont premiers. pkdivise q¯1
1:::q¯m
mdonc
divisera lun des qidaprès le Lemme 3, par exemple pkjqm. Comme pkest premier, cela
entraîne pk=qmet
n+ 1
pk
=p®1
1:::p®k¡1
k=q¯1
1:::q¯m¡1
m:
2
On applique lhypothèse récurrente àcette décomposition en distinguant deux cas pour
que les exposant soient tous strictement positifs : si ®k= 1 alors ¯m= 1 autrement qm
diviserait lun des piavec i6=k, absurde. Si ®k>1, alors ¯m>1autrement pkdiviserait
lun des qiavec i6=m, absurde.
3 Innitude des nombres premiers
Théorème 2 Lensemble des nombres premiers est inni (et donc dénombrable).
Preuve : Supposons par labsurde que lensemble Pdes nombres premiers positifs soit ni,
et notons-le P=fp1; :::; pmg. Lentier naturel n=p1:::pm+ 1 est strictement supérieur à
1, donc admet un diviseur premier dans P. Cest impossible car la division euclidienne de
npar lun quelconque des piest toujours de reste 1.
4 Algorithmes de recherche des nombres premiers
Lemme 4 Un nombre n2Nnf0;1gest premier si et seulement si il nadmet pas de
diviseur premier ptel que p2·n.
Preuve : Si nadmet un diviseur premier ptel que p2·n, ce diviseur est un diviseur
non trivial de n, et par conséquent nnest pas premier. Réciproquement si nnest pas
premier, il sé crit n=ab avec 1< a ·b. Tout diviseur premier pde a(il en existe daprès
le Lemme 1), vériera p2·a2·ab =n:
Remarque : On peut remplacer diviseur premierpar diviseur di¤ é rent de §1dans
lé noncédu Lemme.
4.1 Premier algorithme
Pour savoir si n2Nnf0;1gest premier, on le divise successivement par tous les entiers d
supérieurs à2et tels que d2·n. Si lune des divisions tombe juste, nnest pas premier.
Sinon, nest premier.
En fait, si 2ne divise pas n, il est inutile denvisager les cas oùdest pair, et ainsi de suite,
de sorte que lon puisse améliorer lalgorithme en testant seulement les divisibilités par 2
et par des nombres dimpairs.
program premier1; {reconnaît si un nombre est premier ou pas}
var
n: longint;
r,d: integer;
begin
write(Nombre àtester : ); read(n);
r:=1;
d:=1;
while (d*d<=n) and (r<>0) do
begin
d:=d+1; r:= n mod d;
3
end;
if r=0 then writeln(n, nest pas premier et il est divisible par,d) else writeln(n, est
premier);
end.
4.2 Deuxième algorithme
On décide si un nombre ntel que nest premier ou non en essayant toutes les divisions de
npar les nombres premiers pvériant p2·n. Pour cela il faut trouver tous les nombres
premiers inférieurs àpn.
Exemple : 97 est-il premier ? Il nest pas divisible par 2;3;5;7;11 et 112¸97, donc 97
est premier.
program premier2 ; {recherche de la liste des nombres premiers inférieurs àn}
var
p:= array[1..500] of longint ;
m,n: longint ;
r,s,i: integer ;
begin
write(Chercher les nombres premiers compris entre 2 et ? ); read(n);
p[1]:=2 ; s:=1 ; m:=3;
while m<=n do
begin
r:=1;
i:=0;
while (i<=s) and (p[i]*p[i]<=m) and (r<>0) do
begin; i:=i+1; r:= m mod p[i]; end ;
if r<>0 then begin s:=s+1; p[s]:=m; end;
m:=m+1;
end;
writeln (Il y a, s ,nombres premiers inférieurs ou égaux à ’, n);
i:=0;
repeat
i:=i+1 ; writeln (i =,i,’ ’, p[i]) ;
until i=s;
end.
4.3 Crible dEratosthène
La méthode utilisée dans ce programme est celle du célèbre crible dEratosthène. Elle
permet dobtenir la liste des nombres premiers inférieurs ou égaux àun nombre nxé à
lavance. La voici :
- Choisir n,
- Ecrire la liste des nombres de 2àn,
- Entourer 2,
- Supprimer tous les multiples de 2dans la liste,
4
- Entourer le premier nombre non barréde la liste suivant 2, soit 3. Ce nombre ne possède
pas de diviseur premier strictement inférieur àlui, donc sera premier,
- Supprimer tous les multiples de 3dans la liste,
- etc
- Sarrêter dès que le dernier nombre entouré é levéau carrédépasse n.
Tous les nombres premiers de la liste sont alors entourés.
Exemple : n= 40. Notons quon peut sarrêter à7car 72>40.
2 3 /4 5 /6 7 /8/9 1 /0
11 1 /2 13 1 /4 1 /5 1 /6 17 1 /8 19 2 /0
2/1 2 /2 23 2 /4 2 /5 2 /6 2 /7 2 /8 29 3 /0
31 3 /2 3 /3 3 /4 3 /5 3 /6 37 3 /8 3 /9 4 /0
program eratosth ; {Crible dEratosthène}
const
n=100; {ou tout nombre inférieur ou égal à32765}
var
p: array[2..n] of boolean;
m,i,k: longint ;
begin
for i:=2 to n do p[i]:=true; {initialisation}
m:=2;
while (m<=n) do
begin
{écriture du dernier nombre premier m trouvé}
writeln(m); k:=m;
{suppression des multiples de m}
while (k+m<=n) do begin k:=k+m; p[k]:=false; end;
i:=m+1;
{recherche du premier nombre non barrésituéaprès m}
while (i<=n) and (p[i]:=false) do begin i:=i+1; end;
m:=i;
end;
end.
5 Application du Théorème fondamental : calcul des PGCD
et PPCM de 2entiers
Soient
½a=up®1
1:::p®n
n
b=vp¯1
1:::p¯n
n
les décompositions en produit de facteurs premiers des deux entiers relatifs aet b. Lentier
adivise bsi, et seulement si, ®i·¯ipour tout i. En e¤et adivise bsi, et seulement si,
5
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !