CRIBLE D'ERATOSTHENE - NOMBRES PREMIERS

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 1 nov. 2006 à 15:35
Hiro_6891 Messages postés 2 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 2 novembre 2006 - 2 nov. 2006 à 09:59
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/40172-crible-d-eratosthene-nombres-premiers

Hiro_6891 Messages postés 2 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 2 novembre 2006
2 nov. 2006 à 09:59
Je ne l'avais pas vu et oui il semble vraiment bien.
Merci quand même pour les commentaires.
Je ferai plus attention la prochaine fois avant de poster.
cs_max12 Messages postés 1491 Date d'inscription dimanche 19 novembre 2000 Statut Modérateur Dernière intervention 7 juillet 2014
1 nov. 2006 à 22:01
Bien que sa m'ennuie un peu vue l'effort mis sur les explications et la clarté du code, V56 à raison et donc elle ne pourra pas rester plus de 24h.

A+
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 nov. 2006 à 21:27
http://www.cppfrance.com/codes/NOMBRES-PREMIERS-CRIBLE-ERATHOSTENE_24873.aspx

Je trouve que cet algo est fidèle (plus que le tien) et tout aussi simple
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 nov. 2006 à 21:23
En plus t'a pas libéré la mémoire allouée!
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 nov. 2006 à 21:12
Je crois que ton algo n'est pas optimisé:
Dans ta boucle while (temp<=(long)(sqrt(n)))
1) tu recalcules sqrt(n) à chaque fois, alors que n ne change pas
2) Dans cette boucle, ca ne sert à rien de chercher les multiples d'un nombre s'il est déja barré. Par exemple, si 9 est barré, on sait que aussi 18, 27, ... sont déja barrés
3) La recherche du prochaine nombre à utiliser ne devrait pas être recommencée depuis le début, mais plutot en commencant à temp
4) si tu veux appliquer vraiment l'algo à la lettre, pourquoi enlever d'emblée les nombres pairs? Il seront enlevés lors de la première itération

Je vais comparer aux autres codes et si le tien est le meilleur il sera gardé
Hiro_6891 Messages postés 2 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 2 novembre 2006
1 nov. 2006 à 16:34
Cet algo a déjà été fait au moins 3 fois mais je ne les ai pas trouvés très clair : il y en a un que je n'ai pas du tout compris et les autres manquent d'explications d'après moi, et en plus ne reproduisent pas la méthode fidèlement. J'ai simplement voulu poster un code plus simple et d'après moi plus accessible que les autres.
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
1 nov. 2006 à 15:35
Quelque chose me dit que cette source , ne sera pas gardée :s
Rejoignez-nous