[CodeWars] Sum of Digits / Digital Root

In this kata, you must create a digital root function.

A 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 two digits, continue reducing in this way until a single-digit number is produced. This is only applicable to the natural numbers.

Here’s how it works:

digital_root(16)
=> 1 + 6
=> 7
 
digital_root(942)
=> 9 + 4 + 2
=> 15 …
=> 1 + 5
=> 6
 
digital_root(132189)
=> 1 + 3 + 2 + 1 + 8 + 9
=> 24 …
=> 2 + 4
=> 6
 
digital_root(493193)
=> 4 + 9 + 3 + 1 + 9 + 3
=> 29 …
=> 2 + 9
=> 11 …
=> 1 + 1
=> 2
cs

My Solution

int digital_root(int n)
{
    return n % 9 + 1;
}
cs

Informations of Digital Root  

In fact, solution is very simple if you already know about digital root.

There is an mathematical expression in the wiki. Check and move it to the code.

글쓴이: BakJH

Student of Daedeok SW Meister Highschool, in Korea.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중