Euler_46.cpp (728B)
1 #include "Euler.h" 2 3 llui Euler::GoldbachsOtherConjecture() 4 { 5 std::vector<int> primes = EulerUtility::getPrimesUnderCeilingIndexed(1000000); 6 7 for (uint64_t i = 33; i < primes.size(); ++i) 8 { 9 if ((i & 1) && primes[i] == -1) 10 { 11 bool conjecture_holds = false; 12 13 for (uint64_t j = 0; j < i; ++j) 14 { 15 if (primes[j] != -1) 16 { 17 if (EulerUtility::isPerfectSquare((i - j) / 2)) 18 { 19 conjecture_holds = true; 20 break; 21 } 22 } 23 } 24 25 if (!conjecture_holds) 26 return i; 27 } 28 } 29 30 return 0; 31 }