#include <iostream>
#include <vector>
#include <cmath>
#include <unordered_map>
bool is_prime(int number) {
if (number < 2)
return false;
for (int i = 2; i <= sqrt(number); i++) {
if (number % i == 0)
return false;
}
return true;
}
int compute_fibonacci(int n) {
static std::unordered_map<int, int> fib_cache;
if (n <= 1)
return n;
if (fib_cache.find(n) != fib_cache.end())
return fib_cache[n];
int fib_number = compute_fibonacci(n - 1) + compute_fibonacci(n - 2);
fib_cache[n] = fib_number;
return fib_number;
}
int find_prime_fibonacci(int n) {
int count = 0;
int i = 0;
while (count < n) {
if (is_prime(compute_fibonacci(i))) {
count++;
}
i++;
}
return compute_fibonacci(i - 1);
}
int main() {
int n;
std::cout << "Kaçıncı asal Fibonacci sayısını bulmak istersiniz? ";
std::cin >> n;
int result = find_prime_fibonacci(n);
std::cout << "Sonuç: " << result << std::endl;
return 0;
}
Arkadaşlar şu kodu kısa ve öz şekilde yorumlayabilirmisiniz