Maison  >  Article  >  développement back-end  >  Comment trouver des nombres premiers à l'aide d'une boucle : une approche corrigée

Comment trouver des nombres premiers à l'aide d'une boucle : une approche corrigée

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 06:55:28330parcourir

How to Find Prime Numbers Using a Loop: A Corrected Approach

Trouver des nombres premiers avec une boucle : une approche révisée

La question en question cherche un moyen de trouver des nombres premiers à l'aide d'une boucle. Le code fourni tente de le faire mais rencontre des erreurs. Cet article vise à corriger ces erreurs et à présenter un extrait de code fonctionnel qui accomplit la tâche.

Code révisé :

Le code PHP corrigé ci-dessous utilise une fonction appelée isPrime pour déterminer si un nombre est premier ou non :

<code class="php">function isPrime($num) {
    // Check if number is 1 (not prime)
    if ($num == 1)
        return false;

    // Check if number is 2 (prime)
    if ($num == 2)
        return true;

    // Rule out even numbers
    if ($num % 2 == 0)
        return false;

    // Check if any odd number up to the square root is a factor
    $limit = ceil(sqrt($num));
    for ($i = 3; $i <= $limit; $i += 2) {
        if ($num % $i == 0)
            return false;
    }

    return true;
}</code>

Explication :

  • La fonction commence par éliminer les cas où le nombre est 1 ou 2.
  • Il vérifie si le nombre est divisible par n'importe quel nombre pair, à l'exclusion de 2.
  • Il parcourt ensuite les nombres impairs jusqu'à la racine carrée du nombre donné et vérifie la divisibilité.
  • Si un nombre impair est un facteur, la fonction renvoie faux, indiquant que le nombre n'est pas premier.
  • Si la fonction effectue toutes ces vérifications sans trouver de facteur, elle conclut que le nombre est premier et renvoie vrai.

Exemple d'utilisation :

Pour utiliser la fonction isPrime, transmettez simplement le nombre que vous souhaitez vérifier comme argument. Par exemple :

<code class="php">echo isPrime(11) ? "Prime" : "Not Prime"; // Output: Prime
echo isPrime(15) ? "Prime" : "Not Prime"; // Output: Not Prime</code>

Conclusion :

Le code révisé fournit une implémentation correcte de la recherche de nombres premiers dans une boucle. Il utilise une approche logique pour éliminer les nombres non premiers et identifie avec précision les nombres premiers.

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