Divisions successives
En arithmétique, la méthode par divisions successives est la méthode la plus simple et la plus ancienne pour déterminer si un nombre entier naturel est premier (test de primalité) ou s'il est composé, pour en trouver la décomposition en produit de facteurs premiers.
Cette méthode est utilisable en algorithmique. TrÚs pratique pour tester de petits nombres, elle est peu efficace pour de grands nombres du fait de sa mauvaise complexité.
Principe de la méthode
Soit un entier naturel n. La méthode par divisions successives consiste à essayer de diviser n par chaque nombre premier qui lui est inférieur, en commençant par 2, puis 3, puis 5, et ainsi de suite.
En pratique on n'aura Ă essayer cette division que jusqu'au premier nombre premier supĂ©rieur ou Ă©gal Ă ân, car tout entier n admet au plus un facteur premier supĂ©rieur Ă ân [1].
DĂšs quâun test de divisibilitĂ© rĂ©ussit, un facteur premier de n a Ă©tĂ© trouvĂ© : on peut dĂ©jĂ conclure que n est composĂ©. On peut poursuivre la mĂ©thode par itĂ©rations successives pour obtenir la factorisation complĂšte de n.
Si n est composĂ©, lâalgorithme ciâdessus est donc assurĂ© de le prouver et de trouver les facteurs le composant. Si lâalgorithme ne trouve aucun facteur, cela prouve au contraire que n est premier.
La mĂ©thode peut ĂȘtre optimisĂ©e pour limiter le nombre de divisions Ă tenter. Par exemple, si le dernier chiffre de n n'est ni 0 ni 5, il est inutile de tester le facteur 5. Le mĂȘme argument peut ĂȘtre appliquĂ© Ă la division par 2 par vĂ©rification du dernier chiffre de n [2], ou pour la divisibilitĂ© par 3 ou 9 par la vĂ©rification de la somme de ses chiffres[3]. Pour plus de prĂ©cisions, voir les critĂšres de divisibilitĂ©.
Efficacité de la méthode
Pour prouver qu'un nombre n est premier, la mĂ©thode va devoir tester la divisibilitĂ© de n par tous les nombres premiers infĂ©rieurs ou Ă©gaux Ă racine carrĂ©e de n. Il y a donc Ï(ân) divisions Ă faire, oĂč Ï(x) est la fonction donnant la quantitĂ© de nombres premiers infĂ©rieurs Ă x.
D'aprĂšs le thĂ©orĂšme des nombres premiers , quand n tend vers lâinfini, le nombre de tests de divisibilitĂ© de lâalgorithme est donc proportionnel Ă :
- qui est une fonction exponentielle de la taille de lâentier n.
Ceci signifie que pour prouver qu'un entier de grande taille est premier, la mĂ©thode par divisions successives requiert un nombre d'opĂ©rations rĂ©dhibitoire. Il en est de mĂȘme lorsque la mĂ©thode est utilisĂ©e pour prouver qu'un entier est composĂ© alors qu'il ne contient que de grands facteurs premiers (comme ceux utilisĂ©s pour les clĂ©s de cryptographie asymĂ©trique)[4]. En outre, le nombre d'opĂ©rations mentionnĂ© ciâdessus ne tient pas compte du calcul de la liste des nombres premiers Ă tester. La variante plus simple qui teste la divisibilitĂ© de n par chaque nombre impair infĂ©rieur Ă ân, premier ou non, demande encore d'effectuer ân/2 tests de divisibilitĂ©. Lâalgorithme des divisions successives est pour ces raisons qualifiĂ© en informatique d'algorithme inefficace dans le pire des cas.
Pour trouver (ou tester) de trÚs grands nombres premiers, ou pour factoriser des nombres composés avec de trÚs grands facteurs premiers, les spécialistes lui préfÚreront des algorithmes plus efficaces.
Origines historiques
Les plus anciens écrits concernant les nombres premiers sont attribués au mathématicien grec Euclide, qui aurait vécu vers -300 avant J-C. Les travaux d'Euclide, notamment ceux regroupés dans les 13 livres constituant le traité des Eléments, couvrent de trÚs nombreux aspects des mathématiques. Le livre 7 des Eléments est consacré à l'arithmétique. Il contient plusieurs définitions, "propositions" et théorÚmes qui fondent la méthode des divisions successives. La proposition 31 énonce ainsi que "tout nombre composé est mesuré par quelques nombres premiers" et la proposition 32 que "tout nombre est premier ou mesuré par quelques premiers".
Les travaux d'Euclide ont été la base des trÚs nombreux développements mathématiques ultérieurs concernant les nombres premiers.
Ainsi, quelques dĂ©cennies aprĂšs Euclide, ĂratosthĂšne de CyrĂšne, mathĂ©maticien grec mort vers -198 avant J-C, invente la premiĂšre mĂ©thode permettant de rechercher les nombres premiers infĂ©rieurs Ă tout entier n : c'est le crible d'ĂratosthĂšne. Cette mĂ©thode, qui s'appuie sur les propositions d'Euclide, permet d'Ă©liminer par itĂ©rations tous les nombres infĂ©rieurs Ă n qui sont premiers (ou composĂ©s mais n'ont pas de diviseurs communs avec n). Il s'agit de la plus ancienne mĂ©thode de crible mathĂ©matique connue Ă ce jour.
Notes
- Si n est premier, la propriĂ©tĂ© est Ă©vidente, puisque n n'est divisible que par lui-mĂȘme. Si n est composĂ©, supposons quâil ait 2 diviseurs premiers diffĂ©rents supĂ©rieurs ou Ă©gaux Ă ân : p et q. Comme ils sont diffĂ©rents, lâun d'entre eux au moins est strictement supĂ©rieur Ă ân . Donc p*q est strictement plus grand que n, ce qui est impossible, puisque n est un multiple de p et de q, donc de p*q, donc au moins Ă©gal Ă p*q. Ce raisonnement par l'absurde montre que n ne peut avoir qu'un seul diviseur premier supĂ©rieur ou Ă©gal Ă ân.
- Un nombre entier est divisible par 2 si et seulement s'il se termine par 0, 2, 4, 6, ou 8.
- Un nombre n est divisible par 3 (resp 9) si et seulement si la somme de ses chiffres est divisible par 3 (resp 9).
- NĂ©anmoins, si n comporte au moins un petit facteur, les divisions successives peuvent ĂȘtre une maniĂšre rapide de trouver ce petit facteur. Pour un entier n alĂ©atoire, il y a une probabilitĂ© 1â2 que 2 soit un facteur de n, une probabilitĂ© 1â3 que 3 soit un facteur, et ainsi de suite. Il peut ĂȘtre montrĂ© (voir l'article sur la densitĂ©) que 88 % de tous les entiers positifs ont un facteur infĂ©rieur Ă 100, et que 91 % ont un facteur infĂ©rieur Ă 1 000.