NOMBRES PREMIERS

Signaler
Messages postés
340
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
14 février 2005
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5286-nombres-premiers

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
302
Beaucoup de maladresses pour le calcul, la boucle while peut aisément être remplacée par une for, le code est illisible, non commenté et tu n'utilise aucune des optimisations possibles.
5/10 parce qu'il fonctionne et pour le calcul du temps
Messages postés
5
Date d'inscription
mardi 10 décembre 2002
Statut
Membre
Dernière intervention
24 février 2004

Vi, j'ai fait à peu près le meme dans le train c't'aprèm (je l'ai pas sous les yeux), on peut aussi commencer avec x = 2 pour éviter de tester la division par 2 pour chaque nombre
(en modifaint 2 ou 3 trucs)
Messages postés
340
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
14 février 2005

En faites je me suis complètement trompé, alors je l'ai remodifié, et voilà le nouveau code (environ 5% plus rapide que l'original) ... voilà le nouveau code :

Dim a As Long, n As Long, x As Long, y As Double

ReDim t(nbr + 2)

a = 3 'on demarre direct en testant 3
n = 1
y = 2 'sera la racine carrée du nombre à tester
t(1) = 2

While n <= nbr
x = 1
While x <= n And t(x) < y
If a Mod t(x) = 0 Then GoTo NFirst
x = x + 1
Wend
n = n + 1
t(n) = a
NFirst:
a = a + 2
y = Sqr(a + 1)
Wend
Messages postés
5
Date d'inscription
mardi 10 décembre 2002
Statut
Membre
Dernière intervention
24 février 2004

Heu, Bricomix, au fait, vérifie quand même car ça marche jusqu'à 7, après il me trouve que 9 est un nb premier, y'a un binz....
J'ai pas le temps de coder pour l'instant, je regarde demain.
Afficher les 22 commentaires