LintCode-569.各位相加

题目

描述

给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。

样例

给出 num = 38。

相加的过程如下:3 + 8 = 111 + 1 = 2。因为 2 只剩下一个数字,所以返回 2

解答

思路

基础

代码

class Solution {
public:
    /**
     * @param num a non-negative integer
     * @return one digit
     */
    int addDigits(int num) {
        // Write your code here
        int sum = num;
        while(sum >= 10){
            sum = 0;
            while(num > 0){
                sum += num % 10;
                num = num / 10;
            }
            num = sum;
        }
        return sum;
    }
};

你可能感兴趣的:(LintCode-569.各位相加)