码迷,mamicode.com
首页 > 编程语言 > 详细

LeetCode Javascript解答 258. Add Digits

时间:2016-07-29 19:02:24      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

258. Add Digits

Digit root 数根问题

/**
 * @param {number} num
 * @return {number}
 */
var addDigits = function(num) {
    var b = (num-1) % 9 + 1 ;
    return b;
};

//之所以num要-1再+1;是因为特殊情况下:当num是9的倍数时,0+9的数字根和0的数字根不同。

 性质说明

 1.任何数加9的数字根还是它本身。(特殊情况num=0)

       小学学加法的时候我们都明白,一个数字加9,就是把十位加1,各位减1。因此十位加个位的和是不变的;如果有进位,即十位上是9,那么进位之后十位会变成0,百位会加1,道理和一个一位数加9是一样的。

 2.9乘任何数字的数字根都是9。

      同样是小学时学乘法时,我们在计算一位数乘九的时候,把十只手指头排开,乘几便弯下第几只手指头,前后的手指个数便是那个结果。它的数字根永远是10-1=9。多位数的化,拆分每一位数字即可。
 

 

LeetCode Javascript解答 258. Add Digits

标签:

原文地址:http://www.cnblogs.com/cndotabestdota/p/5719237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!