Incorporer la formule des nombres premiers dans une boucle
Dans la quête de trouver efficacement des nombres premiers à l'aide de boucles, vous pouvez rencontrer des situations où votre existant l’approche échoue. Explorons un cas d'utilisation spécifique et fournissons une solution mise à jour à l'aide d'une formule personnalisée.
Tentative originale et ses lacunes
Le code que vous avez initialement partagé tentait d'identifier les nombres premiers en utilisant une approche basée sur la boucle. Cependant, il était confronté à des limites pour identifier correctement les nombres premiers, notamment en raison de sa méthode de division des nombres.
Une formule et une mise en œuvre optimisées
Pour résoudre ce problème, envisagez de mettre en œuvre le Fonction isPrime() mentionnée dans la réponse fournie :
<code class="php">function isPrime($num) { //1 is not prime. See: http://en.wikipedia.org/wiki/Prime_number#Primality_of_one if($num == 1) return false; //2 is prime (the only even number that is prime) if($num == 2) return true; /** * if the number is divisible by two, then it's not prime and it's no longer * needed to check other even numbers */ if($num % 2 == 0) { return false; } /** * Checks the odd numbers. If any of them is a factor, then it returns false. * The sqrt can be an aproximation, hence just for the sake of * security, one rounds it to the next highest integer value. */ $ceil = ceil(sqrt($num)); for($i = 3; $i <= $ceil; $i = $i + 2) { if($num % $i == 0) return false; } return true; }
Incorporation de la formule dans une boucle
Vous pouvez désormais exploiter cette fonction dans une boucle pour trouver efficacement Nombres premiers :
<code class="php">$limit = 100; // Set a limit to the number range you want to check for ($i = 2; $i <= $limit; $i++) { if (isPrime($i)) { echo $i . " is a prime number. <br>"; } }</code>
Avec cette approche mise à jour, vous pouvez désormais identifier avec précision les nombres premiers jusqu'à la limite spécifiée.
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!