我是靠谱客的博主 健忘大侠,这篇文章主要介绍各位相加,现在分享给大家,希望可以做个参考。

给出一个非负整数 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
        if (num < 10)
            return num;
        else
        {
            int result = 0;
            while (num / 10 != 0)
            {
                result += num % 10;
                num = num / 10;
            }
            result += num % 10;
            addDigits(result);
        }
    }
};

这是一种比较简单的方法,题目还有另一个要求,不使用循环或递归进行计算,正在思考。。。

可以参考http://blog.csdn.net/xy010902100449/article/details/49046199

最后

以上就是健忘大侠最近收集整理的关于各位相加的全部内容,更多相关各位相加内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(102)

评论列表共有 0 条评论

立即
投稿
返回
顶部