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
694 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!

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