Ngôn ngữ PHP - Liệt kê các số Fibonacci nhỏ hơn n là số nguyên tố

 Nhập số tự nhiên n. Hãy liệt kê các số Fibonacci nhỏ hơn n là số nguyên tố.

Code mẫu:

<?php
/**
 * Tính số fibonacci thứ n
 *

 * @param n: chỉ số của số fibonacci tính từ 0
 *           vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2
 * @return integer
 */
function fibonacci($n) {
    if ($n < 0) {
        return - 1;
    } else if ($n == 0 || $n == 1) {
        return $n;
    } else {
        return fibonacci ( $n - 1 ) + fibonacci ( $n - 2 );
    }
}
 
/**
 * kiểm tra số nguyên tố
 *
 * @author viettuts.vn
 * @param n: số nguyên dương
 * @return boolean
 */
function isPrimeNumber($n) {
    // so nguyen n < 2 khong phai la so nguyen to
    if ($n < 2) {
        return false;
    }
    // check so nguyen to khi n >= 2
    $squareRoot = sqrt ( $n );
    for($i = 2; $i <= $squareRoot; $i ++) {
        if ($n % $i == 0) {
            return false;
        }
    }
    return true;
}
 
$n = 1000;
echo ("Các số fibonacci nhỏ hơn $n và là số nguyên tố: ");
$i = 0;
while (fibonacci($i) < $n) {
    $fi = fibonacci($i);
    if (isPrimeNumber($fi)) {
        echo ($fi . " ");
    }
    $i++;
}
?>

Xem ví dụ