Erlo

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

2019-03-13 12:01:04 发布   392 浏览  
页面报错/反馈
收藏 点赞
原文:http://www.php.cn/php-weizijiaocheng-416105.html
在前面的文章《如何用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 JAVA JS 小程序 Python SEO MySql 确认