Trouver des nombres premiers

Soyez le premier à donner votre avis sur cette source.

Vue 17 139 fois - Téléchargée 694 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
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.
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
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.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
124
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

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.