Trouver des nombres premiers

Soyez le premier à donner votre avis sur cette source.

Vue 17 014 fois - Téléchargée 679 fois

Description

Ceci est un programme tout simple qui permet de trouver des nombres premiers entre X et Y.
Le temps d'éxécution entre 0 et 10,000 est de 93 ms !

Source / Exemple :


' @@ Plus d'informations dans le zip ;) @@

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
82 -
Il existe quand même un algorithme bien plus efficace (bien que lui aussi glouton) : n'essayer de diviser les nombres que par des nombres premiers inférieur à la racine des nombres :
Pas la peine de tester si 17 est divisible par 4, 6, 8, 10, 12, 14 et 16 s'il est pas divisible par 2 par exemple... Ca évite énormément de divisions !
=> Stocker les nombres premiers déjà trouvés dans un tableau, et n'essayer de diviser le prochain nombre à tester par les éléments du tableau. Ca augmentera déjà pas mal les performances, bien qu'il ne s'agisse sûrement pas de l'algorithme optimal connu à ce jour !

DarK Sidious
us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7 -
Bonjour,

Le code est bien présenté, mais il est très optimisable. Les remarques de Darksidious sont justes...
IL y a beaucoup de code de ce type sur les nombres premiers, je pense qu'il faudrait un peu plus innover. Par exemple, essayer de programmer le crible de Sundaram, n'est pas plus difficile pour un débutant et permetterai de justement de ne pas avoir un algorithme glouton !

... de plus, bien programmé, il devrait être au moins aussi rapide que le plus rapide...

Amicalement,
Us.
vbPink
Messages postés
23
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
30 août 2006
-
Merci à vous deux, ce code n'est pas ma priorité mais je vais voir ce que je peux faire pour l'optimiser.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.