lapras a écrit:la méthode qui consiste à diviser N par tous les nombres premiers en dessous de sqrt(N), ou bien la crible d'érathostene ?
Au niveau complexité algorithmique (c'est-à-dire temps d'exécution), c'est TRES mauvais. Ca veut dire que ces méthodes ne fonctionnent plus pour des nombres de plusieurs centaines de chiffres.
Existe il d'autres méthodes ?
Oui, c'était l'objet de mon TIPE l'an dernier :ptdr:
En particulier (c'est celle qui est utilisée en cryptographie, c'est-à-dire qui a des applications comme le paiement par internet et en général dans tout ce qui est bancaire), tu peux chercher du côté de l'algorithme de Rabin-Miller, expliqué sur
http://cermics.enpc.fr/polys/oap/node91.html . Attention, cette fois il s'agit d'un algorithme non déterministe, i.e. on n'est pas sûr que la réponse "N est premier" est juste ! (Mais on est "presque" sûr, la probabilité d'erreur étant vraiment très très faible
).
Sans ça, théoriquement, il y a eu une avancée théorique qui permet de faire un test de primalité qui donne une réponse sûre en un temps "raisonnable" (algorithmiquement parlant, c'est-à-dire polynômial ; cherche deu côté de la complexité temporelle si tu ne comprends pas ce que cela veut dire) :
http://www.adastral.ucl.ac.uk/~helger/crypto/link/primality_tests/aks.php .
Mais c'est encore tout théorique et il n'y a pas de programme pratique qui permette de réaliser cet algorithme.
Sinon, existe il des nombres un peu comme les nombres de fermat qui laissent penser que tous les nombres de cette forme sont premiers ?
Regarde du côté des nombres de Mersenne :
http://fr.wikipedia.org/wiki/Nombre_premier_de_MersenneTu peux aussi aller voir sur internet ou dans des livres ce que sont les nombres de Carmichaël...
Enfin, tous ces sujets de primalité sont vraiment intéressants, je trouve.