好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

注 :素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

相关推荐:《PHP教程》

本篇文章就是关于PHP计算指定区域的素数总个数的方法介绍,希望对需要的朋友有所帮助!

以上就是PHP如何计算指定区域的素数总个数?的详细内容,更多请关注Gxl网其它相关文章!

查看更多关于PHP如何计算指定区域的素数总个数?的详细内容...

  阅读:44次