#include #include "primes.h" int next_prime(int num) { num++; while (1) if (is_prime(num)) { return num; } else { num++; } } int check(int num) { int i; int prime = 2; while (prime < num) { for (i=1; i<(num-prime+1); i++) if (num == prime+2*(i*i)) return 1; prime = next_prime(prime); } return 0; } int main(int argc, char** argv) { int i = 9; /* First odd composite */ while (1) { if (!(check(i))) break; do { i += 2; } while (is_prime(i)); } printf("The solution is %d\n", i); return 0; }