leetcode258

来源:互联网 发布:淘宝卖家刷信誉被处罚 编辑:程序博客网 时间:2024/05/19 02:02

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
0 0
原创粉丝点击