Maison > Article > développement back-end > Comment détecter efficacement les nombres premiers à l’aide de boucles en PHP ?
Détection de nombres premiers à l'aide de boucles
Dans le domaine de la programmation, trouver des nombres premiers nécessite des algorithmes efficaces. Une approche courante consiste à utiliser des boucles, soit for, soit while.
Une précédente tentative d'implémentation de PHP utilisant des boucles a abouti à des estimations incorrectes. Examinons une approche alternative.
Fonction IsPrime
La fonction IsPrime fournie offre une solution robuste pour la détection des nombres premiers :
<code class="php">function isPrime($num) { // Handling special cases: 1 is not prime, 2 is the only even prime if ($num == 1) { return false; } elseif ($num == 2) { return true; } // Efficiently handling even numbers if ($num % 2 == 0) { return false; } // Checking odd factors up to the square root $ceil = ceil(sqrt($num)); for ($i = 3; $i <= $ceil; $i += 2) { if ($num % $i == 0) { return false; } } return true; }</code>
Exemple d'utilisation
L'utilisation de cette fonction est simple :
<code class="php">$number = 17; if (isPrime($number)) { echo $number . " is a prime number."; } else { echo $number . " is not a prime number."; }</code>
Fonctionnalités clés
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!