这是一个简单的程序,用于查找质数,以便在稍后阶段检查数字的除法。
我试图通过最初取数字的整数平方根来缩短它以分解复杂性。但是执行脚本仍然需要很长时间。我可以在我的代码中实现哪些其他更改以减少执行时间(我已经将最大执行时间设置为 5 分钟)
<?php
error_reporting(E_ALL);
$num = 600851475143;
//$sqrt_num = (int)sqrt($num);
for( $j = 2; $j <= $num; $j++ )
{
for( $k = 2; $k < $j; $k++ )
{
if( $j % $k == 0 )
{
break;
}
}
if( $k == $j )
{
//echo "Prime Number : ", $j, "<br>";
if( $num % $j == 0 )
{
echo "Prime number : ", $j, "<br>";
}
}
}
编辑刚刚评论了 sqrt 的行,因为这似乎是正确的..但循环仍然需要很多时间。