My code does not do what is asked.Code:/*Design a program that finds all numbers from 1 to 1000 whose prime factors, when added together, sum up to a prime number (for example, 12 has prime factors of 2, 2, and 3, which sum to 7, which is prime). Implement the code for that algorithm.*/ #include <iostream> using namespace std; int primes(int n); bool isPrime(int divisor); bool check(int result); int main() { // Check numbers from 1 to 1000 for (int i = 2; i <= 1000; ++i) { int result = primes(i); if (check(result)) { cout << i << endl; } } } bool isPrime(int divisor) { for (int j = 2; j <= divisor/2; j++) { if (divisor % j == 0) return false; } return true; } int primes(int i) { int p = i; int divisor = 2; int sum = 0; while (p != 1) { cout << "p: " << p << endl; cout << "le divisor: " << divisor << endl; if (isPrime(divisor)) { if (p % divisor == 0) { p = p / divisor; sum += divisor; } else { divisor += 1; } } } return sum; } bool check(int result) { for (int i = 2; i <= result / 2; i++) { if (result % i == 0) return false; } return true; }

Could anyone check it up?