NOMBRES PREMIERS

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 19 déc. 2006 à 22:33
matovitch Messages postés 31 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 19 avril 2009 - 4 août 2007 à 19:16
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/40781-nombres-premiers

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
19 déc. 2006 à 22:33
Attention tu confonds les types de variables. N est un long et tu y enregistres du string, tu dois normalement convertir ce type de données. I ne devrait pas être déclaré double mais Long, c'est un entier tu l'incrémentes de 1 à chaque fois.
MLH19 Messages postés 4 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 25 janvier 2007
21 déc. 2006 à 09:33
Bonjour,

Merci Yves pour cette remarque.
Je débute, tout conseil est le bien venu. Merci encore.
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 déc. 2006 à 12:30
Bonjour,

Vérifie cette affirmation pour voir.
je n' en suis pas sûr, mais je crois l' avoir
lu quelque part, il y' a lontemps de ça:
"Tout les nombres <=7, et qui ne sont pas divisibles...
par 2 sont premiers
Pour les nombres >7, est premier
celui qui n' est divisible :
ni par 2, ni par 3, ni par 5, ni par 7."

On parle bien sûr de division entière.

A+
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 déc. 2006 à 13:31
ce qui est sûr c' est qu' il suffit de se limiter
à la racine carrée de N :
While (i < Sqr(N) And ((N Mod i)<>0)
c' est plus court...
Exemple avec 41 : au lieu de 20, le test s' arrêtera à 6.
car :
s' il n' est pas divisible par 7, il ne le sera pas par 14.
" " 8 " " 16
" " 9 " " 18.
En plus s' il n' est pas divisible par 2 il ne le sera pas par 8.
même chose pour 9 et 3
MLH19 Messages postés 4 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 25 janvier 2007
21 déc. 2006 à 14:17
Bonjour CHAIBAT,

Tu as raison ; je vais limiter la boucle à la racine carrée...c'est suffisant.
Merci pour cette remise à l'ordre mathématique.
En plus ça va permettre au programme de moins "travailler".
A plus.