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++;
}
?>