Nombres premiers (optimisation)

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 6 juil. 2005 à 10:54
remyb718 Messages postés 6 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 6 juillet 2005 - 6 juil. 2005 à 12:03
En faisant des programmes sur les nombres premiers et en voulant améliorer la vitesse d'execution on fait beaucoup de choses, vérifier que pour les nombres impairs, apres on enleve les multiples de 3.....

Ma derniere idée est de ne pas diviser par les nombres non trouvés. Pour information les nombres premiers trouvés sont dans une liste. Comment faire pour ne pas tester la division avec ceux ne figurant pas dans la liste.

Mon code se présente comme sa

'p est le nombre a tester

For n=2 to sqr(p)+1
If p/n=fix(p/n) then
Exit for
'La il faudrait mettre une commande qui dit que n doit etre different du p présent
End if

If n > sqr(p) then
List1.additem (n)
End if

1 réponse

remyb718 Messages postés 6 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 6 juillet 2005
6 juil. 2005 à 12:03
déja avant de commencer For n=2 to sqr(p)+1 =>For n=2 to sqr(p)-1

je comprend pas trop ce que tu veux faire mais ta méthode de
détermination des nombres premier ne sera de toute facon assez lente je
me demande meme si la programmation d'un crible ne serai pas plus
rapide et plus simple.cependant si tu cherche a déterminer si un nombre
est premier ou non il existe des algorithmmes plus rapides
0
Rejoignez-nous