Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GÉNÉRATION DE NOMBRES PREMIERS ET STOCKAGE DANS UN FICHIER


Information sur la source

Description

Ce programme génère et affiche les 99.999.999 premiers nombres premiers, et les stocke dans une liste. Si l'on arrête le programme en cours de génération, celui-ci lors de son prochain redémarage chargera la liste des nombres premiers déjà calculés, stockés dans un fichier (LstPriNb.lst), et continuera la génération. Avec le commutateur /L, vous pouvez afficher les nombres premiers enregistrés dans le fichier de liste (LstPriNb.lst). Le commutateur /? permet d'afficher l'aide (certes très légère...).
Auteurs :
H.B.(aka. Bélusch) et N.F.(aka. Fleufleu).
Algorithme mis au point par N.F.(aka. Fleufleu) et optimisé par H.B.(aka. Bélusch).

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de LeFauve42 le 23/04/2007 09:36:20

Bonjour,

C'est tres joli et bien ecrit, mais l'algorithme est tres basique, et loin d'etre le plus performant.

Vous devriez regarder du cote du cribble d'Erastothene (il y a un exemple ici: http://www.cppfrance.com/code.aspx?ID=10645 (mais je ne l'ai pas regarde en details. Inspirez vous surtout de l'algo)).

Le principal defaut du cribble est que si vous voulez le nieme nombre premier, vous devez d'abord calculer les n-1 precedents, mais vu que votre programme genere une liste, ca ne devrait pas poser de problemes.

Deux petits conseils d'optimisation:
- Les nombres pairs ne sont jamais premiers (a part 2), donc vous pouvez utiliser un tableau deux fois plus petit (il suffit d'ajouter a la main 1 et 2 au debut de votre liste, puis si le cribble trouve le chiffre c comme premier, vous ajoutez a votre liste (2*c)+1 et de cribbler le tableau tous les (2*c+1)).
- Les 3-4 premieres iterations du tableau prennent pratiquement plus de temps que les millions suivantes. Apres les avoir realisees, si vous regardez le contenu du tableau, vous remarquerez que son contenu se repete tous les 20-30 caracteres (si vous stockez un bit pour chaque element). Il est donc tres efficace de preremplir ce tableau avec en dur le motif qui se repete, puis de d'emarer les iterations.

Bonne chance avec les nombres premiers :o)
Eric

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

handle de Createfile ET writefile [ par oudkaramla ] salut tout le mondej'ai un pepin avec le HANDLE DE createfile, en effet malgré que j'ai déclaré le handle comme variable globale, il perds sa valeur e writefile()/readfile [ par imanedaoudi ] Salut,je veux enregistrer des float dans un fichier txt, et les lire apres, j'ai utilisé la fonction suivante pour écrire et lire les 5 prem Probleme CreateFile, WriteFile, DeleteFile [ par idk ] IDK(DOS et API windows)Est ce qu'il faut fermet le fichier apres avoir utiliser CreateFi api CreateFile() et ReadFile() [ par shadow1779 ] Bonsoir, j'ai presque terminé mon logiciel afin de decouper un fichier en parts... cependant j'ai une erreur et j'arrive vraiment pas a comprend CreateFile [ par leuk ] Salut à tous,J'aimerai utiliser le systéme de fichier windows pour sauvegarder des donner puis les lire en utisant createfile(), writefile(), readfile Erreur 1784 Problème ReadFile [ par usbeck ] Bonjour, (le nom un peu compliqué du sujet est pour les recherches, parce que j'aimerai bien que tous les titres soient précis ( "j'ai un probleme" c WriteFile et Violation d'accès [ par Ziman ] Bonjour à tous,je regarde un peu les API pour les fichiers. Voici mon code :File = CreateFile("C:\\a.txt",                                        FILE [.net c++] writefile et readfile [ par stgi02 ] bonsoir,je prog sur visual studio.net c++quand on utilise readfile ou WriteFile en mode overllaped j'ai lu dans MSDN que l'operation peux retourner av createfile [ par thegame88 ] Bonjour a tous,Voila j'ai fait un ti prog qui utilise la fonction createfile, mais le premier argument de createfile doit être le chemin du fichier du WriteFile sous XP 64 [ par JejeLand ] Salut à tous.Je viens d'installer un XP Pro 64 et horreur, la fonction WriteFile ne fonctionne pas.Est-ce un problème d'option du compiler où la fonct


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.