Maison > interface Web > js tutoriel > le corps du texte

Comment déterminer efficacement si un nombre est premier en JavaScript ?

Barbara Streisand
Libérer: 2024-10-26 17:57:03
original
946 Les gens l'ont consulté

How can you efficiently determine if a number is prime in JavaScript?

Vérifier efficacement les nombres premiers en JavaScript

En programmation informatique, déterminer si un nombre donné est premier est une tâche fondamentale. Un nombre premier est un entier positif supérieur à 1 qui n'a pas de diviseur positif autre que 1 et lui-même.

Une approche populaire pour vérifier la primalité implique le tamis d'Ératosthène. Cependant, pour des raisons de performances, une méthode plus efficace peut être utilisée, comme démontré dans l'implémentation JavaScript suivante :

let inputValue = 7;
let isPrime = inputValue == 1 ? false : true;  // Because 1 is not prime

for (let i = 2; i < inputValue; i++) {
  inputValue % i == 0 ? isPrime *= false : isPrime *= true;
}

alert(`${inputValue} is ${isPrime ? 'prime' : 'not prime'} number`);
Copier après la connexion

Analyse de la complexité temporelle et spatiale

Le temps la complexité de l'algorithme ci-dessus est O(sqrt(n)), où n représente la valeur d'entrée. En effet, la boucle parcourt tous les entiers jusqu'à la racine carrée du nombre d'entrée, ce qui constitue une optimisation significative par rapport à la vérification de tous les entiers jusqu'à n.

La complexité spatiale est O(1), car il ne nécessite aucune structure de données supplémentaire au-delà des variables primitives.

Approche alternative

Une syntaxe alternative pour vérifier la primalité en JavaScript est :

const isPrime = num => {
    for (let i = 2, s = Math.sqrt(num); i <= s; i++) {
        if (num % i === 0) return false;
    }
    return num > 1;
}
Copier après la connexion

Cette approche atteint la même complexité temporelle et spatiale que la précédente tout en utilisant une syntaxe de fonction flèche plus concise.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!