使用php生成一系列素数
我编写这段代码是为了使用php创建一系列素数使用php生成一系列素数,php,numbers,primes,Php,Numbers,Primes,我编写这段代码是为了使用php创建一系列素数 $number = 53; for ($i=0; $i<=$number; $i++) { if ( $i == 2 ) { echo "$i "; } else if ( $i == 3 ) { echo "$i "; } else if ($i % 2 != 0 && $i % 3 != 0) { echo "$
$number = 53;
for ($i=0; $i<=$number; $i++)
{
if ( $i == 2 )
{
echo "$i ";
}
else if ( $i == 3 )
{
echo "$i ";
}
else if ($i % 2 != 0 && $i % 3 != 0)
{
echo "$i ";
}
}
25%2=1
25%3=1
因此,它会显示数字
你的函数不显示素数;相反,它显示的数字不能被2或3整除。您可以使用这段代码
<?php
$number = 983;
$i = 0;
while($i <= $number)
{
$prime = true;
if($i != 0 && $i != 1 && $i != 2)
{
echo 'Number: ' . $i;
// echo $i .'</br>';
$x = range(2,$i-1);
foreach($x as $try => $value)
{
if(($i % $value) === 0)
{
$prime = false;
}
}
if($prime == true)
{
echo ' is a prime';
}
}
$i++;
echo '</br>';
}
?>
抱歉,我知道这有点晚了,但这里有一个函数可以帮助您准确地完成此操作
<?php
//Prime Function
function fn_prime($number) {
$i = 2; $result = TRUE;
while($i < $number) {
if(!($number%$i)) {
$result = FALSE;
}
$i++;
}
return $result;
}
//Declare integer variable...
$k = 0;
//Start Loop up to any number of your choice for e.g. 200
while($k < 200) {
if(fn_prime($k)) {
echo "$k is a prime number<br/>";
} else {
echo "$k is not a prime number!<br/>";
}
$k++;
}
?>
1不是质数,因为25、35和49都不能被2或3整除。黑洞的回答是正确的。使用它可能很有趣,但如果您只需要一个工作函数,请在php>=5.6上使用gmp_nexttime。另请参见感谢杰伊·布兰查德的编辑。谢谢@twicejr提供的信息