Euler_52.cpp (483B)
1 #include <algorithm> 2 #include "Euler.h" 3 4 int Euler::PermutedMultiples() 5 { 6 for (int i = 1;;++i) 7 { 8 std::vector<int> digits = EulerUtility::intToDigits(i); 9 10 for (int j = 2; j < 7; ++j) 11 { 12 std::vector<int> multiple = EulerUtility::intToDigits(i * j); 13 14 if (!std::is_permutation(digits.begin(), digits.end(), multiple.begin())) 15 break; 16 17 if (j == 6) 18 return i; 19 } 20 } 21 22 return 0; 23 }