PHP如何计算指定区域的素数总个数?

藏色散人
藏色散人 原创
2023-04-05 15:22:02 2973浏览

在前面的文章《如何用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如何计算指定区域的素数总个数?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。