Bài toán. Liệt kê các số Fibonacci nhỏ hơn n và là số nguyên tố
Đầu vào: Số nguyên dương n
Đầu ra: Dãy Fibonacci đồng thời là số nguyên tố
Code tham khảo:
#include <iostream>
#include <cmath>
using namespace std;
int nguyenTo(int n) {
if (n < 2) {
return 0;
}
int i;
int s = sqrt(n);
for (i = 2; i <= s; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int Fibonacci(int n) {
if (n < 0) {
return -1;
} else if (n == 0 || n == 1) {
return n;
} else {
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
int main() {
freopen("NTFI.INP","r",stdin);
freopen("NTFI.OUT","w",stdout);
int n, i = 0;
cin >> n;
while (Fibonacci(i) < n) {
int fi = Fibonacci(i);
if(nguyenTo(fi)) {
cout << fi << " ";
}
i++;
}
return 0;
}