|
Bas de page | |
---|---|
Auteur | Sujet : Le Crible d'Eratosthène |
masklinn í dag viðrar vel til loftárása | Implémentation en Haskell, histoire de pouvoir détailler le fonctionnement dans un thread dédié et non dans la sous-cat C edit: je me suis rendu compte en écrivant le post que j'avais oublié une clause, le programme originel était buggé chuis trop nul Code principal:
Commençons par les helpers (qui ne sont là que pour rendre le code plus lisible)
Passons maintenant à l'implémentation de l'algo. Commençons par la définition de la fonction "sieve" (qui prend un unique argument "limit", la limite supérieure des tests de primalité)
On arrive maintenant à l'implémentation réelle du crible.
(x:xs) est la syntaxe permettant de "déstructurer" une liste Haskell: le premier élément de la liste ira dans "x" et la queue de la liste ira dans "xs" Génération de rest:
L'équivalent en Python serait:
Par exemple si on définit une fonction isPair renvoyant True si son paramètre est pair, filter isPair [1, 2, 3, 4, 5] va renvoyer 2, 4. Ici, on applique donc à notre liste un filtre enlevant tous les multiples du nombre actuel Puis on réapplique sieveHelper récursivement sur la liste obtenue.
Utilisabilité en prod: Message cité 1 fois Message édité par masklinn le 03-05-2007 à 10:09:11 --------------- I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing? |
![]() Publicité | Posté le 02-05-2007 à 20:23:12 ![]() ![]() |
souk Tourist |
|
MagicBuzz | L'autre topic sans la section C je pense
Message édité par MagicBuzz le 03-05-2007 à 02:09:38 |
Trap D | Ça y'est, j'ai les yeux en face des trous et je comprends les temps d'exécution. Effectivement, mon prog est archi lent, normal c'est de l'interprété et la manipulation des listes est lente et gourmande en mémoire.
Message cité 1 fois Message édité par Trap D le 03-05-2007 à 09:04:12 |
masklinn í dag viðrar vel til loftárása |
--------------- I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing? |
rufo Pas me confondre avec Lycos! |
Message cité 1 fois Message édité par rufo le 03-05-2007 à 10:03:35 |
masklinn í dag viðrar vel til loftárása |
--------------- I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing? |
MagicBuzz | /*
Message édité par MagicBuzz le 03-05-2007 à 15:31:26 |
![]() Publicité | Posté le 03-05-2007 à 15:23:21 ![]() ![]() |
MagicBuzz | Même en collant le timer après le calloc et avant le parcours inutile (le printf en commentaire) je suis à des années lumières de tes 15 secondes... Je vois pourtant pas comment faire plus rapide que du C, et je vois pas ce qui peut clocher avec mon code... unsigned, type de base, pas un seul calcul... pige pas |
MagicBuzz | Ouais bon, ok, laisse béton, faut que je prenne 3 ans de vacances, ou alors l'euthanasie directe, je sais pas...
|
masklinn í dag viðrar vel til loftárása | Ah oui mais non la perf initiale est fausse hein, yavait un bug dans le code je le mentionne au début du post, faut l'oublier, les du code qui fonctionne sont plus proches de ce que sort souk --------------- I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing? |
MagicBuzz | tu veux dire que depuis 24 heures je suis vexé comme un poux d'avoir mon prog C# explosé par ton truc, et que j'ai passé la journée à l'optimiser pour... finalement n'exploser qu'un faux record ? |
masklinn í dag viðrar vel til loftárása | Ouaip --------------- I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing? |
Sujets relatifs | |
---|---|
crible d'Eratosthene en c | |
Plus de sujets relatifs à : Le Crible d'Eratosthène |