ホームページ >バックエンド開発 >PHPチュートリアル >ループを使用して素数を見つける方法: 修正されたアプローチ

ループを使用して素数を見つける方法: 修正されたアプローチ

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 06:55:28377ブラウズ

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

ループを使用した素数の検索: 改訂されたアプローチ

目下の質問は、ループを使用して素数を検索する方法を求めています。提供されたコードはそうしようとしますが、エラーが発生します。この記事の目的は、これらのエラーを修正し、そのタスクを達成する機能コード スニペットを提示することです。

改訂コード:

以下の修正された PHP コードは、isPrime と呼ばれる関数を利用して、数値が素数かどうかを判断します:

<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>

説明:

  • 関数は、数値が 1 または 2 であるケースを排除することから始まります。
  • 数値が 2 を除く偶数で割り切れるかどうかをチェックします。
  • 次に、指定された数値の平方根まで奇数を繰り返し、割り切れるかどうかをチェックします。
  • 奇数が因数である場合、関数は false を返し、その数値が素数ではないことを示します。
  • 関数が因数を検出せずにこれらのチェックをすべて完了した場合、その数値は素数であると結論付けて戻ります。 true.

使用例:

isPrime 関数を使用するには、確認したい数値を引数として渡すだけです。例:

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

結論:

修正されたコードは、ループ内で素数を見つける正しい実装を提供します。論理的アプローチを使用して素数以外を排除し、素数を正確に識別します。

以上がループを使用して素数を見つける方法: 修正されたアプローチの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。