project-euler

https://projecteuler.net/
Log | Files | Refs | README

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 }