int EulerUtility::digitalRoot(BigInteger n) { std::vector<int> digits = BigIntToDigits(n); int digitSum = std::accumulate(digits.begin(), digits.end(), 0); if (digitSum > 9) return digitalRoot(digitSum); return digitSum; }
int digitalRoot(int number) { if(number < 10) return number; return digitalRoot(digitSumRecursive(number)); }