Test de primalité
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
kangourex
- Membre Naturel
- Messages: 32
- Enregistré le: 21 Nov 2013, 18:39
-
par kangourex » 21 Nov 2013, 18:57
Bonjour je suis un étudiant en informatique, j'aimerai effectuer un test de primalité sur des nombres composé de 200 chiffres environ.
Dans mon post N voudra dire le nombre testé il sera forcément impair.
Un test de primalité permet de dire si un nombre est premier ou pas.
Il y a plusieurs façon de procéder pour vérifier si un nombre est premier ou pas en informatique.
On fait une boucle avec un modulo dedans mais bon comprenez que je ne vais pas faire une boucle de 2 jusqu'à un nombre composé de 200 chiffres on ferai aller un processeur peut-être pour rien au final juste pour tester un nombre.
Bon ensuite il y a une technique qui consiste à faire la racine carré de N et de tester tous les nombres premier inférieur à racine de N sur N bon déjà faut connaitre ses antécédents ça nous donne toujours une boucle immense.
Ensuite j'ai trouvé un test Solovay-Strallen qui dit soit un nombre premier A^((N -1)/2) mod(N)= 1 alors N est premier mais bon faire une puissance d'un nombre composé de 200 chiffres est très très long encore une fois. Donc je voulais vous demander un algorithme ou un théorème qui permet de définir si N est premier ou non et cela sans être dans dans gigantesques calculs longs.
Je vous remercie de l'attention que vous porterai à ce post. Cela me permettra de faire un programme qui crypte les messages.
-
adrien69
- Membre Irrationnel
- Messages: 1899
- Enregistré le: 20 Déc 2012, 12:14
-
par adrien69 » 21 Nov 2013, 19:17
Le meilleur que je connaisse c'est le test AKS. Mais faut s'accrocher pour l'encoder, et encore plus pour l comprendre...
-
Ben314
- Le Ben
- Messages: 21709
- Enregistré le: 11 Nov 2009, 21:53
-
par Ben314 » 21 Nov 2013, 20:03
bonsoir,
kangourex a écrit:... mais bon faire une puissance d'un nombre composé de 200 chiffres est très très long encore une fois.
Non, c'est très rapide : pour calculer

, tu utilise le fait que :
^2\ \ \ \ \ \ \ \ \ \text{ si } n \text{ est pair}\cr x\big(x^{(n-1)/2}\big)^2\text{ si } n \text{ est impair} \geq 3)
Si

est de l'ordre de

, ça te demande (au pire) de faire
}{\ln(2)}k)
multiplications pour avoir

(donc moins de 2000 si n est au environ de

)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius
-
adrien69
- Membre Irrationnel
- Messages: 1899
- Enregistré le: 20 Déc 2012, 12:14
-
par adrien69 » 21 Nov 2013, 20:38
Ah et Solovay-Strallen, c'est du probabiliste. Il ne te dira pas à coup sûr si ton nombre est premier. Tandis qu'AKS si.
-
kangourex
- Membre Naturel
- Messages: 32
- Enregistré le: 21 Nov 2013, 18:39
-
par kangourex » 23 Nov 2013, 18:45
Merci de vos réponses mais j'ai trouvé le théorème d'Euclide ^^
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 45 invités