#include <iostream>
#include <cmath>
int isPrime(int n) {
if (n < 2 || (n % 2 == 0 && n != 2)) {
return 0;
}
int count = floor(sqrt(n));
for (int i = 3; i <= count; i += 2) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main(void) {
int n = 38;
bool has_primes = false;
for (int i = 2; i <= n / 2; i++) {
if (isPrime(i)) {
if (isPrime(n - i)) {
std::cout << n << " = " << i << " + " << n - i << "\n";
has_primes = true;
}
}
}
if (!has_primes)
std::cout << n << " cannot be expressed as a sum of two prime numbers";
return 0;
}
/*
run:
38 = 7 + 31
38 = 19 + 19
*/