Euler_38.cpp (753B)
1 #include "Euler.h" 2 3 int Euler::PanDigitalMultiples() 4 { 5 int greatestPanDigitalMultiple = 918273645; 6 7 for (int i = 9182; i < 9876; ++i) //9182 is the first 4 digits of the above no, 9876 is the int with unique digits < 10000 8 { 9 if (EulerUtility::hasUniqueDigits(i, false)) 10 { 11 if (EulerUtility::hasUniqueDigits(i * 2, false)) 12 { 13 int potentialPanDigital = atoi((std::to_string(i) + std::to_string(i * 2)).c_str()); 14 15 if ((EulerUtility::hasUniqueDigits(potentialPanDigital, false)) && (potentialPanDigital > greatestPanDigitalMultiple)) 16 greatestPanDigitalMultiple = potentialPanDigital; 17 } 18 } 19 } 20 21 return greatestPanDigitalMultiple; 22 }