首頁  >  文章  >  後端開發  >  PHP如何計算指定區域的質數總個數?

PHP如何計算指定區域的質數總個數?

藏色散人
藏色散人原創
2019-03-13 10:52:083644瀏覽

前面的文章《如何用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

:質數又叫質數(prime number),有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。

相關推薦:《PHP教學

本篇文章就是關於PHP計算指定區域的質數總個數的方法介紹,希望對需要的朋友有所幫助!

以上是PHP如何計算指定區域的質數總個數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn