project-euler

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

Euler_56.cpp (472B)


      1 #include <numeric>
      2 
      3 #include "Euler.h"
      4 
      5 int Euler::PowerfulDigitSum()
      6 {
      7     int highestDigitSum = 0;
      8 
      9     for (int i = 1; i < 100; ++i)
     10     {
     11         for (int j = 1; j < 100; ++j)
     12         {
     13             std::vector<int> digits = EulerUtility::powerDigits(i,j);
     14             int digitSum = std::accumulate(digits.begin(), digits.end(), 0);
     15 
     16             if (digitSum > highestDigitSum)
     17                 highestDigitSum = digitSum;
     18         }
     19     }
     20 
     21     return highestDigitSum;
     22 }