PHP中的素数

时间:2017-12-02 15:17:56

标签: php algorithm loops primes

我希望用户输入一个数字,如果数字是素数,则打印程序。但我不想使用循环来查找素数,如何在没有循环的情况下完成它?

<?php
$i = 1;
while ($i < 5) {
    for ($j = 1; $j <= $i; $j++) {
        if ($j != 1 && $j != $i) {
            echo $i . "/" . $j . "=" . $i % $j . "<br />";
            if ($i % $j != 0) {
                echo $i . "<br />";
            }
        }
    }
    echo "<br />";
    $i += 1;        
}
?>

1 个答案:

答案 0 :(得分:0)

如果您仍然想要这样,那么有一个不使用循环的速度慢得多:

function is_prime_via_preg_expanded($number) {
    return !preg_match('/^1?$|^(11+?)\1+$/x', str_repeat('1', $number));
}

然后你可以调用这个函数来检查:

if (is_prime_via_preg_expanded(2))
     echo "OK";