CALCUL DES NOMBRES PREMIERS EN UN CLIC

cs_Axar Messages postés 19 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 12 juillet 2012 - 20 avril 2006 à 18:04
cs_Axar Messages postés 19 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 12 juillet 2012 - 20 avril 2006 à 18:04
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/37162-calcul-des-nombres-premiers-en-un-clic

cs_Axar Messages postés 19 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 12 juillet 2012
20 avril 2006 à 18:04
salut

c'est sympa de trouver quelqu'un qui s'interrese au nombre premier.
meme si la présentation de ton code n'est pas extra et pas du tout commenter.
tu peux rajouter des 'doevents' ce qui permet d'arreter l'application lorsqu'elle est trop longue( si d'autres personnes connaisse autre chose pour ne pas figer l'application , je suis preneur ;) )
personnellement les 'goto' j'aime pas trop. avec les 'if' il existe les 'else'. et pour la boucle 'for' on peut en sortir grace a 'exit for'.

bon sinon c'est une premiere etape pour calculer les nombres premiers.
j'avais deja ecrit un programme ressemblant au tien.
je me suis vite rendu compte qu'il etait beaucoup trop long avec les division.
donc j'ai utiliser une autre methode:
créer un tableau a deux colonnes - le nombre premier
- un compteur

le principe est décrémenté les compteurs a chaque tour.
si l'un des compteur est à 0 cela veut dire que le nombre n'est pas premier, dans le cas contraire ajouter une ligne au tableau avec son compteur.

je sais pas si j'ai été assez clair

malheureusement ce programme je ne l'ai plus.


For i = p To n Step 1
doevents
If (i Mod 2 = 0) And (i <> 2) Then GoTo 1

For j = 3 To Round((i - 1) / 3) + 1 Step 2
doevents
If i Mod j = 0 Then GoTo 1
Next j
Print #1, i
i = i + 1
1: Next i

@+
Rejoignez-nous