1、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 = 11, 1 + 1 = 2. Since 2 has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
class Solution {
public:
int addDigits(int num) {
if(num!=0&&num%9==0)
return 9;
return (num%9);
}
};
- 任意给一个正整数,每一位上的数相加获得一个新的整数,然后接着对这个整数,每一位上的数相加,直到成为个位数,则这个个位数一定是最初给的正整数整除9 的余数。。。
number result
0 0 // 0 % 9 = 0, 0 == 0
1 1 // 1 % 9 = 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9 // 9 % 9 = 0, 9 != 0
10 1 // 10 % 9 = 1
11 2
12 3
13 4
14 5
15 6
16 7
17 8
18 9
19 1 //19 % 9 = 1