ホームページ >バックエンド開発 >PHPチュートリアル >PHPで指定された領域内の素数の総数を計算するにはどうすればよいですか?

PHPで指定された領域内の素数の総数を計算するにはどうすればよいですか?

藏色散人
藏色散人オリジナル
2019-03-13 10:52:083780ブラウズ

前回の記事「PHPを使って100未満の素数の合計を計算するには?」 」で、PHPを使って素数の和を計算する方法をご紹介しましたが、素数の判定についてはある程度理解できたと思います。では、特定の整数範囲内のすべての素数を取得したい場合、どうすれば達成できるでしょうか?

PHPで指定された領域内の素数の総数を計算するにはどうすればよいですか?

たとえば、n 内のすべての素数の数を計算する場合、n の範囲は 1≤n≤9999,999 です。

ここで、指定した領域内の素数の総数を計算する PHP の方法を紹介します。

コードは次のとおりです:

<?php
$max = 1000000;

// 初始化数组
for ($i = 0; $i <$max; $i ++) {
    $array [$i] = 1;
}
$array [1] = 0;

// 由于0和1不是素数,从2开始判断
for ($i = 2; $i<$max; $i ++) {
    if ($array [$i] === 0)
        continue;
    else
    {
        For ($j = $i * $i; $j<$max; $j += $i) {
            $array [$j] = 0;
        }
    }

    for ($i = 2; $i <$max; $i ++) {
        $array [$i] += $array [$i-1];
    }

    While (1) {
        $res = fscanf(STDIN, &#39;%d&#39;, $n);
        if ($res == 0) break;

        $cnt = $array [$n];
        echo "小于等于n的质数的个数为: ";
        echo $cnt.PHP_EOL;
    }
}

出力:

小于等于n的质数的个数为:168

: 素数は素数とも呼ばれ、無限の数が存在します。素数は、1 とそれ自身以外の因数を持たない、1 より大きい自然数として定義されます。

関連おすすめ: 「

PHP チュートリアル

この記事は、PHP で指定した領域内の素数の総数を計算する方法の紹介です。それを必要としている友達にとって役立つでしょう。助けてください!

以上がPHPで指定された領域内の素数の総数を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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