专栏首页悠扬前奏的博客LintCode-569.各位相加

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;
    }
};

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LintCode-365.二进制中有多少个1

    给定 32 (100000),返回 1 给定 5 (101),返回 2 给定 1023 (111111111),返回 9

    悠扬前奏
  • LintCode-454.矩阵面积

    悠扬前奏
  • LintCode-761. 最小子集

    给一非负整数数组. 取数组中的一部分元素, 使得它们的和大于数组中其余元素的和, 求出满足条件的元素数量最小值.

    悠扬前奏
  • LeetCode 258. 各位相加

    Michael阿明
  • 杭电acm2029-Palindromes _easy version

    用户2038589
  • 出圈子问题

    题目描述: 有n个人围成一圈,按顺序排号 从第一个人开始报数(从1到3报数) 所有报到3的人退出圈子 问最后留下来的是第几个人 我们可以将这个题目...

    指点
  • PAT(乙级)1019

    分析:这个题目,没什么难度。但是我被超时问题困扰了一会儿,可能是scanf函数用的次数有点多,所以改了一下,直接通过了。

    zy010101
  • LintCode-365.二进制中有多少个1

    给定 32 (100000),返回 1 给定 5 (101),返回 2 给定 1023 (111111111),返回 9

    悠扬前奏
  • 程序员面试金典 - 面试题 05.07. 配对交换(位运算)

    配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。

    Michael阿明
  • 用Java实现JVM第七章《方法调用和返回》

    本章节主要用java实现;方法调用指令、返回指令、解析方法符号引用、参数传递等。实现新的指令后我们的虚拟机就可以执行稍微复杂的运算并输出结果。

    小傅哥

扫码关注云+社区

领取腾讯云代金券