How to find the consecutive prime numbers which sum of them equal to N in C++

1 Answer

0 votes
#include <iostream>
#include <cmath>
  
bool isPrime(int n) {
    if (n == 0 || n == 1) {
        return false;
    }
    
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) {
            return false;
        }
    }
    
    return true;
}
 
void findConsecutivePrimeSumEqualTo(int n) {
    int sum = 0;
    for (int i = 2; i < n; i++) {
         if (isPrime(i)) {
            std::cout << i << " ";
            sum += i;
            if (sum == n) {
                break;
            }
            if (sum > n) {
                std::cout << "Not Found" << "\n";
                break;
            }
         }
    }
}
 
int main(void) {
    findConsecutivePrimeSumEqualTo(41);
}
  
  
  
  
/*
run:
  
2 3 5 7 11 13 
  
*/

 



answered Jan 28, 2024 by avibootz
edited Jan 28, 2024 by avibootz
...