CHERCHEUR & VERIFICATEUR DE NB 1ER

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 27 avril 2002 à 20:31
g0belin Messages postés 155 Date d'inscription jeudi 6 décembre 2001 Statut Membre Dernière intervention 19 avril 2010 - 28 avril 2002 à 10:34
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/11882-chercheur-verificateur-de-nb-1er

g0belin Messages postés 155 Date d'inscription jeudi 6 décembre 2001 Statut Membre Dernière intervention 19 avril 2010
28 avril 2002 à 10:34
oui en effet tu a raison mais se code j'aurai du le regarder avant de le mettre sur le web j'ai oublié de l'optimiser
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
27 avril 2002 à 20:31
Tu pourrais gagner beaucoup de temps dans la recherche des nombres premiers de la manière suivante :

i:=2;
j:=0;
limite:=(nb+1)Div 2;
while (i <=Limite)And(j<>1) do if (nb mod i) = 0 then j:=1 Else Inc(i)
if j<>1 then result:=result+IntTOStr(nb)+', ';

Il suffit de balayer la moité de 2 à N car si X divise NB et X>N/2 alors NB/X aurait divisé NB et NB/X<NB/2.
Ensuite dès qu'un diviseur est trouvé, ce n'est plus la peine de finir la boucle.
Rejoignez-nous