|
Sujet : Nombres prmier en C encore un truc SVP!??? |
| wpk |
Kristoph a écrit a écrit :
Vous devriez resortir vos bouqins sur la crypto. Quand on veut générer un nombre premier de grande taille, on ne se permet pas de tester la division par tout les nombres entiers impairs, du moins pas au début.
Il y a des techniques compliquées mais généralement en log n qui permettent de dire rapidement qu'un nombre n'est pas premier. La subtilitée c'est qu'elles ne permettent pas de dire qu'un nombre EST premier :). Ca c'est des vieux souvenirs, je suis incapable maintenant de te donner le nom de ces algo :/. Si quelqu'un se rappelle, qu'il se manifeste svp
Une technique quand meme, tu généres un bon millier de nombres aléatoires et tu testes si le ppcm 2 à 2 de ces nombre et de ton candidat vaut 1. S'il vaut autre chose que 1 c'est que ton nombre n'est pas premier.
ppcm : Plus Petit Commun Multiple
|
c'est meme plus complique que ca, il existe des tests de primalité (bcp bcp plus rapides que la methode triviale), pour les tres grands nombres qui fournissent une reponse probabiliste pour savoir si oui ou non un nb est premier.
Cherche des infos autour du : test de fermat ou solovay-strassen ou miller-rabin (le dernier doit etre le meilleur des 3 si mes souvenirs sont bons). Ensuite, si tu veux des methodes sures, il me semble qu'il y a d'autres tests utilisant les courbes eliptiques mais c'est encore un peu plus compliqué... |