NOMBRES PREMIERS 11
3OCmath – Jt 2015
Chapitre 2: Nombres premiers
2.1 Quoi de plus simple qu’un nombre premier ?
Rappel : Un entier naturel est dit premier s’il est supérieur ou égal à 2 et
n’est divisible que par 1 et lui-même.
Quoi de plus simple ? : Et pourtant, ils renferment tant de mystères que les plus grands esprits
depuis des siècles n’ont toujours pas réussi à en percer tous les secrets, et
ce malgré les énormes progrès technologiques et les investissements colos-
saux consentis par les pouvoirs tant civils que militaires pour assurer ou
percer la confidentialité des transmissions de toutes natures qui continue
de dépendre d’une meilleure connaissance des nombres premiers, ce que
nous verrons un peu plus loin.
Qui sont-ils ? Combien sont-ils ? Où sont-ils ? À quoi servent-ils ? Nous
essaierons de donner quelques éléments de réponses à ces questions.
Mais tout d’abord, pourquoi jouent-ils un rôle si important ?
Fondamentalement, il existe deux manières d’engendrer IN :
- si on veut engendrer IN en utilisant l’addition, on s’aperçoit que le
nombre 1 nous suffit : on « fabrique » 2 en additionnant 1 avec
lui-même ; 3 en additionnant 1 avec 2, etc.
- si on veut engendrer IN en utilisant la multiplication, là, les choses
se compliquent. Pour « fabriquer » 2, il faut le créer ; même pro-
blème pour 3. On fabrique 4 en multipliant 2 avec lui-même, mais
il faut créer 5. On fabrique 6 en multipliant 3 avec 2. On crée 7.
On fabrique 8 à partir de 2. On fabrique 9 à partir de 3. On fa-
brique 10 à partir de 2 et 5, etc.
Euclide d’Alexandrie
-325 à -265 av. J.-C.
Les nombres que l’on est obligé de créer sont les briques néces-
saires à fabriquer tous les autres. C’est bien plus compliqué que
l’addition me direz-vous, mais la multiplication est plus « puis-
sante » et nous permet d’aller bien plus vite et plus loin.
Les nombres premiers sont donc ces éléments qui nous permettent
de fabriquer tous les autres. Un des premiers problèmes étudiés a
été de savoir s’ils peuvent tenir dans une boîte, comme les légos
dans ma chambre. Euclide à répondu à cette question il y a vingt-
trois siècles et la réponse est non.
Pour le prouver, nous aurons besoin d’un résultat intermédiaire :
Propriété 1 :
Tout entier naturel n admet au moins un diviseur premier.
En effet, soit n est premier et il est divisible par lui-même, soit n n’est pas
premier et il admet un certain nombre de diviseurs. Appelons p le plus petit
de ces diviseurs. p est premier, car sinon p aurait un diviseur d, plus petit
que p, et qui diviserait n.
12 NOMBRES PREMIERS
3OCmath – Jt 2015
Théorème :
Il y a une infinité de nombres premiers.
Raisonnons par l’absurde et supposons qu’il existe exactement n nombres
premiers qu’on nommera p1, p2, …, pn. Appelons N le nombre
N = (p1 · p2 · … · pn) + 1
Il est plus grand que tous les pi, donc il n’est pas premier. Donc, il admet
un diviseur premier p qui est un des pi, puisqu’il n’y a qu’eux. Ainsi
p divise N=p
1
p
2
p
n
+1
p divise p
1
p
2
p
n
p divise Np
1
p
2
p
n
=1
Donc p = 1 ce qui est absurde puisqu’il est premier. Ainsi, cette contradic-
tion nous assure qu’il ne peut exister de plus grand nombre premier. Il y a
donc une infinité et l’aventure ne fait que commencer.
Quelques records :
Curtis Cooper
Mathématicien américain
• Le 4 février 2005, par exemple, Martin Nowak a battu le record du
plus grand nombre premier : 225 964 951 – 1 en faisant travailler plus
de 50 jours durant un Pentium 4 2,4 GHz. Cette découverte s'est
faite dans le cadre du programme GIMPS1 de recherche de grand
nombre. Novak est un chasseur de grand nombre et ophtalmolo-
giste allemand à ses heures perdues ;-).
Le GIMPS a pu remporter le 23 août 2008, la première récom-
pense de 100’000 USD offerte par l'Electronic Frontier Founda-
tion pour la découverte du premier nombre premier de plus de dix
millions de chiffres (243'112'609 – 1). Les règles de répartition de la ré-
compense sont prévues par le GIMPS : l'internaute qui trouve le
nombre, le GIMPS, des œuvres caritatives et les autres internautes
qui participent au GIMPS et trouvent des nombres premiers.
L'Electronic Frontier Foundation offre d'autres récompenses de
100’000, 150’000 et de 250’000 USD pour, respectivement, la dé-
couverte de nombres premiers de plus de dix millions, cent mil-
lions et un milliard de chiffres. À bon entendeur !!!
L’actuel plus grand nombre premier, découvert en 2013 a nécessi-
té plus de 37 jours de calculs informatiques. Grâce à lui, c’est la
troisième fois que le mathématicien Curtis Cooper découvre un
nombre premier supérieur au précédent.
Records actuels :
257'885'161 – 1 formé de 17'425'170 chiffres (25.1.2013)
243'112'609 – 1 formé de 12'978'189 chiffres (23.8.2008)
242'156'667 – 1 formé de 12'837'064 chiffres (12.4.2009
1 Great Internet Mersenne Prime Search est un projet de calcul partagé où les volontaires utilisent un
logiciel pour chercher les nombres premiers de Mersenne de la forme 2p – 1, avec p premier.
NOMBRES PREMIERS 13
3OCmath – Jt 2015
2 · 3 + 1 = …
2 · 3 · 5 + 1 = …
2 · 3 · 5 · 7 + 1 = …
2 · 3 · 5 · 7 · 11 + 1 = … etc …
a) Peut-on affirmer que le résultat de ces calculs est forcément un
nombre premier ?
b) Considérons : 2 · 3 · 5 · 7 · 11 · 13 + 1
Justifier qu’il n’est pas divisible par 2, 3, 5, 7, 11, 13
Mais n’est-il pas divisible par un autre nombre premier ?
tester à la calculatrice)
Exercice 2.1 :
Démontrer que la proposition suivante est fausse:
"pour tout n IN , n2n + 41 est premier"
Indication : Pour démontrer qu’une proposition est fausse, il suffit de trouver un contre-
exemple, c’est-à-dire une valeur de n, ne vérifiant pas la proposition.
Exercice 2.2 :
a) Écrire le pseudo-code premier permettant de tester si un nombre
est premier.
Indication : Dans la remarque, en bas de page 5, nous avons déjà défini la fonction très
utile ici :
a mod b
qui donne le reste de la division de a par b.
Ainsi 5 est un nombre premier car :
5 mod 2, 5 mod 3, 5 mod 4 sont toujours différents de 0.
Exercice 2.3 :
b) Vérifier votre pseudo-code "à la main" pour les nombres 6 et 7.
c) Programmer-le en MuPAD puis contrôler que la réponse de
premier(1321)
donne bien :
"Oui"
14 NOMBRES PREMIERS
3OCmath – Jt 2015
2.2 Test de primalité d’un nombre
Il est facile de vérifier de tête que 7, 13 ou 31 sont des nombres pre-
miers. Quelle méthode adopter pour montrer que 1321 est premier ?
Premier algorithme :
Essayer toutes les divisions de 1321 par D, pour D allant de 2 à
1320. Si aucune division ne tombe juste, alors on peut affirmer que
1321 est premier.
C’est probablement l’algorithme que vous avez proposé dans
l’exercice précédent.
premier1:=proc(n)
begin
test:=0:
for i from 2 to n-1 do
if n mod i = 0 then test:=1
end_if
end_for:
if test=0 then print(expr2text(n). " est premier" ):
else print(expr2text(n). " n’est pas premier"):
end_if:
end_proc:
premier1(1321)
et on obtient
"1321 est premier"
Cet algorithme peut être optimisé. Proposer 1319 calculs lorsque 36
peuvent suffire…
2ème démarche :
diviseur 2 3 4 5 6 7 8 9 10
quotient 660,5 440,3 330,3 264,2 220,2 188,7 165,1 146,8 132,1
diviseur 11 12 13 14 15 16 17 18 19
quotient 120,1 110,1 101,6 94,36 88,07 82,56 77,71 73,39 69,53
diviseur 20 21 22 23 24 25 26 27 28
quotient 66,05 62,90 60,05 57,43 55,04 52,84 50,81 48,93 47,18
diviseur 29 30 31 32 33 34 35 36 37
quotient 45,55 44,03 42,61 41,28 40,03 38,85 37,74 36,69 35,70
Le tableau semble incomplet : il resterait encore à essayer les quo-
tients de 38 à 1320, mais cela est-il vraiment nécessaire ?
Nous observons qu’à partir de 37, les quotients sont plus petits que les
diviseurs. Aucun de ces quotients pour un diviseur supérieur à 37 ne
peut être entier puisque cela signifierait que 1321 était déjà divisible
par ce quotient. Mais aucune division par un nombre inférieur à 37 n’a
donné de quotient entier. D’où la simplification suivante :
NOMBRES PREMIERS 15
3OCmath – Jt 2015
Deuxième algorithme:
Essayer2 toutes les divisions de 1321 par D, pour D allant de 2 à
1321
[]
+1
.
Ainsi donc, nous sommes passés de 1320 divisions à 36 divisions. Ce-
ci est un gain appréciable de temps.
Traduire ce deuxième algorithme en nouveau pseudo-code, puis pro-
poser une procédure MuPAD dont le nom est premier2.
Indication : Dans MuPAD, la fonction correspondante à
n
s’écrit sqrt(n).
Exercice 2.4 :
En utilisant la procédure précédente, contrôler les affirmations au
sujet de la formule d’Euler : f (n) = n2n + 41
a) f (2), f (40) sont premiers, mais f (41), f (42) ne le sont pas.
b) Pour n [0 ; 100], la formule d’Euler fournit dans près de 86%
des cas un nombre premier.
c) Parmi les nombres n [0 ; 100], lesquels ne fournissent pas un
nombre premier ?
Exercice 2.5 :
Troisième algorithme:
Mais, on peut encore améliorer la méthode en essayant que les divi-
sions par les nombres premiers inférieurs à
1321
[]
+1
, à condition
de disposer d’une liste des nombres premiers. Si vous avez une telle
liste jusqu’à 1000, cela permet de tester rapidement si un nombre
inférieur à 10002 est premier.
2 [n] est un codage exprimant la partie entière du nombre réel n et correspondant à l'entier qui lui est immédia-
tement inférieur ou égal. La fonction correspondante en MuPAD est floor().
1 / 10 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 !