// goldbach rule breaker v1.0// finds the first odd number that can't be written as the sum of a prime and a square #include <stdio.h>#include <math.h>int main(){ int primes[1000] = {2, 3}; int count = 2, a = 3, b, c, d, result; bool bValid = true, bPrime, bSwitch = false; while (bValid) { a+=2; for (bPrime = true, b = 0; b < count && bPrime; b++) { if (primes[b] * primes[b] > a) break; if (!(a % primes[b])) bPrime = false; } if (bPrime) primes[count++] = a; else { for (bValid = false, c = 1; !bValid; c++) { result = (a - primes[c]) / 2; if (result < 1) break; for (d = 1; d < result+1 && !bValid; d++) { if (d * d > result) break; if (d * d == result) bValid = true; } } } } printf("%d", a); }