Maison > développement back-end > Tutoriel Python > Quel est l'algorithme le plus rapide pour générer tous les nombres premiers inférieurs à un nombre entier N donné ?

Quel est l'algorithme le plus rapide pour générer tous les nombres premiers inférieurs à un nombre entier N donné ?

DDD
Libérer: 2024-12-18 02:35:10
original
619 Les gens l'ont consulté

What's the Fastest Algorithm to Generate All Prime Numbers Below a Given Integer N?

Le moyen le plus rapide de lister tous les nombres premiers inférieurs à N : une exploration

Problème :

Déterminer la méthode la plus rapide pour tout lister nombres premiers inférieurs à un entier donné N.

Question :

L'algorithme donné peut-il être optimisé pour une exécution plus rapide ?

Réponse :

L'algorithme fourni peut être considérablement amélioré en termes de vitesse. Une comparaison de diverses implémentations révèle que rwh_primes1 avec Psyco est le plus efficace pour générer des nombres premiers inférieurs à 1 000 000.

Résultats supplémentaires :

  • Sans Psyco, rwh_primes2 émerge comme la méthode la plus rapide.
  • Utiliser NumPy offre d'autres améliorations de performances, primesfrom2to s'avérant être la plus rapide parmi toutes les méthodes testées. -approche basée sur.
rwh_primes, rwh_primes1 et rwh_primes2 : Variations des algorithmes de Robert William Hanks.

sieve_wheel_30 : Un algorithme spécialisé optimisé pour les calculs basés sur 30.

sieveOfEratosthenes : La méthode de tamisage classique avec optimisations de bitset.
  • sieveOfAtkin : un tamis moderne utilisant modulo arithmétique.
  • sundaram3 : l'algorithme de Sundaram avec des optimisations pour des ensembles de nombres plus petits.
  • ambi_sieve : une approche basée sur un tamis avec des optimisations NumPy.
  • primesfrom3to et primesfrom2to : basé sur NumPy algorithmes pour générer efficacement primes.
  • Timings :
  • 147,0
    Méthode Temps (ms) avec Psyco th> Temps (ms) sans Psyco
    rwh_primes1 43,0 93,7
    sieveOfAtkin 46,4 314,0
    rwh_primes 57 .4 94,6
    sieve_wheel_30 63,0 97,4
    rwh_primes2 67.8 68.1
    tamisOfEratosthène178,0
    ambi_sieve_plain 152,0 286,0
    sundaram3 194.0 416.0
    primesfrom2to 15,9
  • N/A
    primesfrom3to 18,4 N/A
    ambi_sieve 29.3 N/A

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal