How to find the first 10 prime Fibonacci numbers in C++

1 Answer

0 votes
#include <iostream>
#include <cstdint>

bool isPrime(std::uint64_t n) {
    if (n < 2) return false;
    if (n == 2 || n == 3) return true;
    if (n % 2 == 0) return false;

    for (std::uint64_t i = 3; i * i <= n; i += 2)
        if (n % i == 0)
            return false;

    return true;
}

std::uint64_t nextFib(std::uint64_t &a, std::uint64_t &b) {
    std::uint64_t f = a;
    std::uint64_t next = a + b;
    a = b;
    b = next;
    
    return f;
}

int main() {
    std::uint64_t a = 1, b = 1;
    int count = 0;

    while (count < 10) {
        std::uint64_t f = nextFib(a, b);
        if (isPrime(f)) {
            std::cout << f << " ";
            count++;
        }
    }
}

 
/*
run:

2 3 5 13 89 233 1597 28657 514229 433494437 

*/

 



answered 10 hours ago by avibootz
edited 9 hours ago by avibootz
...