"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment déterminer efficacement si un nombre est premier en JavaScript ?

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

Publié le 2024-11-08
Parcourir:578

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

Vérification efficace des 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 le démontre l'implémentation JavaScript suivante :

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

for (let i = 2; i 

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  1;
}

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

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3