
Recursive solution
By: a guest on
May 5th, 2012 | syntax:
PHP | size: 0.47 KB | hits: 26 | expires: Never
<?php
echo calc(600851475143) . "\n";
function calc( $num, $i=3, $prime=0, $sqrt=-1 ) {
if ($sqrt < 0) $sqrt = ceil(sqrt($num));
if ($i >= $sqrt) return $prime;
if ($num % $i == 0)
if (prime($i))
$prime = $i;
return calc($num, ++$i, $prime, $sqrt);
}
function prime( $num, $i=3, $sqrt=-1 ) {
if ($sqrt < 0) $sqrt = ceil(sqrt($num));
if ($i > $sqrt) return true;
if ($num % $i == 0) return false;
return prime($num, ++$i, $sqrt);
}
?>