我希望用户输入一个数字,如果数字是素数,则打印程序。但我不想使用循环来查找素数,如何在没有循环的情况下完成它?
<?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;
}
?>
答案 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";