最大の素因数を見つけるプログラムを PHP で作成しました。読み込みがかなり速いので、かなり最適化されていると思います。ただし、問題があります。非常に大きな数の素因数はカウントされません。プログラムは次のとおりです。
function is_even($s) {
$sk_sum = 0;
for($i = 1; $i <= $s; $i++) {
if($s % $i == 0) { $sk_sum++; }
}
if($sk_sum == 2) {
return true;
}
}
$x = 600851475143; $i = 2; //x is number
while($i <= $x) {
if($x % $i == 0) {
if(is_even($i)) {
$sk = $i; $x = $x / $i;
}
}
$i++;
}
echo $sk;