DEV Community

özkan pakdil
özkan pakdil

Posted on

Sum of Digits / Digital Root

Digital root is the recursive sum of all the digits in a number.

Given n, take the sum of the digits of n. If that value has more than one digit, continue reducing in this way until a single-digit number is produced. The input will be a non-negative integer.
Examples

16  -->  1 + 6 = 7
Enter fullscreen mode Exit fullscreen mode

942 --> 9 + 4 + 2 = 15 --> 1 + 5 = 6
132189 --> 1 + 3 + 2 + 1 + 8 + 9 = 24 --> 2 + 4 = 6
493193 --> 4 + 9 + 3 + 1 + 9 + 3 = 29 --> 2 + 9 = 11 --> 1 + 1 = 2

Solution in java

    public static int digital_root(int n) {
        int r = n;
        while (r > 9) {
            r = String.valueOf(r)
                    .chars()
                    .map(Character::getNumericValue)
                    .sum();
        }
        return r;
    }

Enter fullscreen mode Exit fullscreen mode

Reference:https://www.codewars.com/kata/541c8630095125aba6000c00/train/java

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay