[C] NOMBRES PREMIERS

bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 - 23 déc. 2006 à 18:54
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 - 25 déc. 2006 à 19:13
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/40827-c-nombres-premiers

bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
25 déc. 2006 à 19:13
Je vois. Merci de l'information, Bru ^^ .

BILALoch
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 déc. 2006 à 14:59
http://www.google.com/custom?domains=cppfrance.com&q=premier&sa=Rechercher&sitesearch=cppfrance.com

au vu de cette recherche, il parait clair que nous en avons plus que suffisamment de topics sur les nbr premiers.
Cette source ne sera pas conservée.
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
24 déc. 2006 à 13:41
Ok merci pour toutes ces precisions :)

BILALoch
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
24 déc. 2006 à 12:14
Mieux: sans racine carrée:

while ((i < sqrt(N)) && (N % i != 0))

devient

while ((i*i < N) && (N % i != 0))

ceci dit, c'est <= il me semble. si tu tests la primalité de 9, je pense que ton algo dira qu'il est premier, or c'est 3 * 3 (sqrt(9) doit être testé, c'est ça que je veux dire).

et bon, clairement, l'algo est trop lent, mais ça, c'est une histoire de débuts, et si t'es vrmnt passioné par les nb premiers (ça va vite ^^), tu en découvriras plein d'autres. c'est amusant, et il y a dejà des bouquins entiers de commentaires sur les nb premiers sur les codes de cppfrance :p

Aussi, un commentaire général: ça sert à rien de poster le code source d'entrées/sorties console je trouve: ce qui pourrait intéresser les gens si l'algo était rapide, c'est une fonction toute probpre bool isPrime(int n), pas tout le reste. Dans cette forme-ci, c'est rebutant.

Bonne prog :)
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
23 déc. 2006 à 19:16
Merci pour ce commentaire. J'ameliorerais le code normalement durant ces jours-ci :)

Je mettrai un nouveau algorithme.

Merci encore...

BILALoch =)
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
23 déc. 2006 à 19:14
Je trouve que l'algorithme que tu a utilisé n'est vraiment pas super : tester tous les diviseurs, c'est par exemple doubler le temps de calcul car à chaque fois tu teste les diviseurs de deux (2, 4, 6, 8, ...).

Ensuite, à chaque itération de ta boucle, tu recalcule la racine carrée. Il serait mieux de ne la calculer qu'une seule fois, car normalement elle ne change pas.

Je te conseillerais de regarder les autres algorithmes sur ce site, il y en a pas mal qui utilisent la technique du crible d'eratosthène, qui est bien plus rapide que la tienne.

Sinon, c'est la première fois que je dit ça, je trouve que tes goto sont vraiment très spaghettis (tu va d'un côté, tu revient de l'autre, et tu resaute...), et c'est pas très très compréhensible.

Je te met 6, à cause de ton algorithme qui n'est vraiment pas très perfectionné...
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
23 déc. 2006 à 18:54
Laissez des ptits commentaires, meme mechants ;)

BILALoch
Rejoignez-nous