Maison  >  Article  >  interface Web  >  Comment puis-je trouver des nombres premiers entre 0 et 100 en JavaScript ?

Comment puis-je trouver des nombres premiers entre 0 et 100 en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 16:37:02851parcourir

How Can I Find Prime Numbers Between 0 and 100 in JavaScript?

Trouver des nombres premiers entre 0 et 100 en JavaScript

Identifier des nombres premiers dans une plage donnée peut être une tâche difficile. Bien qu'il puisse sembler intuitif de vérifier chaque nombre individuellement à l'aide de l'opérateur de module, cette approche devient inefficace, en particulier pour les plages plus grandes.

Une approche alternative : le tamis d'Ératosthène

Un algorithme plus efficace pour ce problème est le Tamis d'Eratosthène. Cette méthode fonctionne en éliminant de manière itérative les nombres non premiers d'une liste de nombres premiers possibles.

Implémentation en JavaScript

<code class="javascript">function getPrimes(max) {
    var sieve = [], i, j, primes = [];
    for (i = 2; i <= max; ++i) {
        if (!sieve[i]) {
            // i has not been marked -- it is prime
            primes.push(i);
            for (j = i << 1; j <= max; j += i) {
                sieve[j] = true;
            }
        }
    }
    return primes;
}</code>

Utilisation

Pour trouver tous les nombres premiers compris entre 2 et 100 :

<code class="javascript">var primes = getPrimes(100);
console.log(primes);</code>

Sortie :

[ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ]

Conclusion

L'utilisation du tamis d'Ératosthène fournit une méthode très efficace et fiable pour trouver des nombres premiers dans une plage spécifiée. Cette approche améliore considérablement les performances par rapport à la division d'essai et permet l'identification de nombres premiers pour des plages encore plus larges.

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:
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