PHP에서 가장 큰 소수 요소를 찾기 위해 프로그램을 작성했습니다. 꽤 빨리로드되기 때문에 꽤 최적화 된 것 같습니다. 그러나 문제가 있습니다. 매우 큰 숫자의 주요 요인을 계산하지 않습니다. 여기에 프로그램입니다 :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;
나는'is_even'을'is_prime'으로 이름을 바꾸고 함수의 마지막 줄에서 false를 반환하도록합니다. 또한 루프에 $ i = 1 또는 $ i = $ s를 포함 할 필요가 없으며 다른 숫자로 나눌 수있는 경우 false를 반환 할 수 있습니다. – catchmeifyoutry