Euler_44.cpp (601B)
1 #include "Euler.h" 2 3 int getPentagonal(int n) 4 { 5 return (n * ((3 * n) - 1)) / 2; 6 } 7 8 int Euler::MinimizedPentagonalDifference() 9 { 10 std::vector<int> pentaNos(1, 1); 11 std::vector<int> potential_D; 12 13 for (;;) 14 { 15 pentaNos.push_back(getPentagonal(pentaNos.size() + 1)); 16 17 for (uint64_t j = 0; j < pentaNos.size() - 1; ++j) 18 if (EulerUtility::isPentagonal(pentaNos[pentaNos.size() - 1] + pentaNos[j]) && EulerUtility::isPentagonal(pentaNos[pentaNos.size() - 1] - pentaNos[j])) 19 return pentaNos[pentaNos.size() - 1] - pentaNos[j]; 20 } 21 22 return 0; 23 }