首页 > 学院 > 开发设计 > 正文

数据结构实例<四>(Add Digits)容易

2019-11-08 02:58:05
字体:
来源:转载
供稿:网友

题目:

Add Digits:Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.

样例

Given num = 38.The PRocess is like: 3 + 8 = 111 + 1 = 2. Since 2 has only one digit, return 2.

Function Code:

  public static int addDigits(int num)        {            // Write your code here            //num  0   !0            //num  <10   >10            /*             * 外循环 处理数据的依据就是求模运算大于零,且这个数大于十 不大于十直接返回             * 内循环 求余累加sum  num从个位开始依次到N位,直至num=0不再进入                         */            if (num<10)            {                return num;            }            else            {                               while (num % 10 > 0&&num>10)                {                    var sum = 0;                    while (num > 0)                    {                        sum += num % 10;                        num /= 10;                    }                    num = sum;                }                return num;            }        }        public static int addDigitsforRole(int num) {            /*            1    1            2    2            3    3            4    4            5    5            6    6            7    7            8    8                9    9                10    1            11    2            12    3                13    4            14    5            15    6            16    7            17    8            18    9            19    1            20    2             * 9个数一个轮回,我们就直接模9             * 那么特殊情况(9 及9的倍数)我们采用减一加一获取             * 减一加一也兼顾了其它数的求根             */            return (num-1)%9+1;        }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表