ホームページ >バックエンド開発 >PHPチュートリアル >PHPで指定された領域内の素数の総数を計算するにはどうすればよいですか?
前回の記事「PHPを使って100未満の素数の合計を計算するには?」 」で、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, '%d', $n); if ($res == 0) break; $cnt = $array [$n]; echo "小于等于n的质数的个数为: "; echo $cnt.PHP_EOL; } }出力:
小于等于n的质数的个数为:168
注: 素数は素数とも呼ばれ、無限の数が存在します。素数は、1 とそれ自身以外の因数を持たない、1 より大きい自然数として定義されます。
関連おすすめ: 「PHP チュートリアル 」
この記事は、PHP で指定した領域内の素数の総数を計算する方法の紹介です。それを必要としている友達にとって役立つでしょう。助けてください!以上がPHPで指定された領域内の素数の総数を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。