[LeetCode]Add Digits

Add Digits

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.

For example:

Given num = 38, the process is like: 3 + 8 = 111 + 1 = 2. Since 2 has only one digit, return it.

Follow up:
Could you do it without any loop/recursion in O(1) runtime?

 不用循环和递归!这个问题有公式可用,对于数字num,result=1+(num-1)%9。

可以参考wiki的Digital root

1 class Solution {
2 public:
3     int addDigits(int num) {
4         int result=1+(num-1)%9;
5         return result;
6     }
7 };
原文地址:https://www.cnblogs.com/Sean-le/p/4737068.html