PHP取得n以内的质数

{{ time }}

示例代码如下

<?php

/**
 * 取得质数
 * @param $end 取得$end以内的质数
 * @return 返回质数的数组
 */
function getPrime($end)
{
    $return = [];
    for ($i = 2; $i <= $end; $i++) {
        $primes = 0;
        for ($k = 1; $k <= $i; $k++)
            if ($i % $k === 0) $primes++;
        if ($primes <= 2) // 能除以1和自身的整数(不包括0)
            array_push($return, $i);
    }
    return $return;
}


/**主进程: 取得$n以内的质数 */
function main($n)
{
    $r = getPrime($n);
    $count = count($r);
    echo "{$n}以内(含)有{$count}个质数, 它们是:";
    echo '<pre>';
    print_r($r);
    echo '</pre>';
}


/**开始 */
main(100);//激活主进程: 取得100以内的质数