LeetCode_258_AddDigits

258. 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?

 

题目分析

对于给定的数字num,对其各位数字进行累加,直到只有一个数字,输出该数字。

0   1   2   3   4   5   6   7   8   9   //sum

0   1   2   3   4   5   6   7   8   9   //num

    10  11  12  13  14  15  16  17  18

    19  20  21  22  23  24  25  26  27

 

 

Solution:

int addDigits(int num)
{
    if (num == 0)
        return 0;
    return num % 9 ? num % 9 : 9;
}

 

当下即永恒
原文地址:https://www.cnblogs.com/HellcNQB/p/5361581.html