- ceil: documentation ( source)
- sqrt: documentation ( source)
<?php
function problem_3()
{
$task = 600851475143;
$sqrt = ceil(sqrt($task));
if (0 === $sqrt % 2) {
$sqrt++;
}
for ($i = $sqrt; $i >= 1; $i = $i - 2) {
if (0 !== $task % $i) {
continue;
}
if ($i === (int)gmp_nextprime($i - 1)) {
return $i;
}
}
return -1;
}
// echo problem_3();
// echo (int)gmp_nextprime(5000 -1);