Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision Les deux révisions suivantes | |||
fichier_des_nombres_premiers [2008/09/17 20:04] tyrtamos créée |
fichier_des_nombres_premiers [2008/09/17 20:26] tyrtamos |
||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
Il y avait tout de même un petit problème. Je voulais utiliser l' | Il y avait tout de même un petit problème. Je voulais utiliser l' | ||
- | Dans mes recherches, j'ai été surpris de constater que Python n' | + | Dans mes recherches, j'ai été surpris de constater que Python n' |
- | * des fonctions getch_win() (pour Windows) et get_lin() (pour Linux) qui sont censées renvoyer le caractère tapé au clavier. La fonction getch() elle-même pointe sur l'une ou l' | + | * des fonctions getch_win() (pour Windows) et get_lin() (pour Linux) qui sont censées |
* un thread clavier pour compenser l' | * un thread clavier pour compenser l' | ||
Ligne 26: | Ligne 26: | ||
Et... ça marche! | Et... ça marche! | ||
+ | |||
+ | Pour utiliser ce programme, il faut: | ||
+ | |||
+ | * se placer dans une console (cmd pour Windows, shell pour Linux), | ||
+ | |||
+ | * se placer avec la commande " | ||
+ | |||
+ | * lancer le programme par " | ||
+ | |||
+ | Au démarrage, le programme détecte psyco et l' | ||
+ | |||
+ | Il cherche ensuite s'il y a un fichier " | ||
+ | |||
+ | * si oui, il le charge en mémoire | ||
+ | |||
+ | * si non, il en fabrique un nouveau. | ||
+ | |||
+ | Ensuite, il ouvre le fichier en ajout, et y ajoute les nombres premiers au fur et à mesure qu'il les trouve. | ||
+ | |||
+ | Un Ctle-C ou n' | ||
+ | |||
+ | Avec psyco, le calcul est très rapide compte tenu de la quantité de calcul réalisé. Sous Linux (swap=2Go), au bout de 3 ou 4 heures seulement, je suis arrivé à "2 176 005 437". Sous Windows XP, j'ai été bloqué à "1 339 088 837" pour " | ||
+ | |||
+ | Il est clair que ce calcul échouera lorsque l'OS refusera la liste des nombres premiers en mémoire. Il faudra alors utiliser d' | ||
Voilà le code. Il est auto-documenté: | Voilà le code. Il est auto-documenté: |