Maison > développement back-end > tutoriel php > 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
Libérer: 2024-10-30 06:55:28
original
375 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

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