Goldbach’s other conjecture
https://projecteuler.net/problem=46
It was proposed by Christian Goldbach that every odd composite number can be written as the sum of a prime and twice a square.
static void Main(string[] args) { Console.BufferHeight = 8000; Console.WriteLine("Goldbach's other conjecture"); for (int n = 3; n < 100000; n+=2) { if ( !isPrime(n) ) { Console.WriteLine(n); bool works = false; while (!works) { for (int abc = 1; abc < 50; abc++) { for (int j = 0; j < 10000; j++) { if (isPrime(j)) { double check = j + (2 * Math.Pow(abc, 2)); if ((j + 2 * Math.Pow(abc,2)) > n) break; if (n == check) { //Console.WriteLine(n + " = " + j + " + 2*" + abc + "^2"); works = true; } if (works) break; } } } } Console.WriteLine("----"); } } } public static bool isPrime(int n) { if (n == 1) return false; if (n == 2) return true; for (int i = 2; i < n; ++i) { if ((n % i) == 0) return false; } return true; } |
output