How to find the first 10 prime Fibonacci numbers in PHP

1 Answer

0 votes
function isPrime(int $n): bool {
    if ($n < 2) return false;
    if ($n === 2 || $n === 3) return true;
    if ($n % 2 === 0) return false;

    for ($i = 3; $i * $i <= $n; $i += 2) {
        if ($n % $i === 0) return false;
    }
    
    return true;
}

function nextFib(array &$state): int {
    $f = $state[0];
    $next = $state[0] + $state[1];
    $state[0] = $state[1];
    $state[1] = $next;
    
    return $f;
}

$fibState = [1, 1];
$count = 0;

while ($count < 10) {
    $f = nextFib($fibState);
    if (isPrime($f)) {
        echo $f . " ";
        $count++;
    }
}



/*
run:

2 3 5 13 89 233 1597 28657 514229 433494437 

*/

 



answered 9 hours ago by avibootz
...