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 }