258.各位总和(javascript)258.AddDigits
原创给定非负整数 num,重复将每个位上的数字相加,直到结果为一位。返回此结果。
Given an integer num, repeatedly add all its digits until the result has only one digit, and return it
示例 1:
输入: num = 38
输出: 2
解释: 彼此相加的过程是:
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是个位数,所以返回 2。
Input: num = 38
Output: 2
Explanation: The process is
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
Since 2 has only one digit, return it.
示例 1:
输入: num = 0
输出: 0
var addDigits = function (num) {
while (num >= 10) {
//该方法是将获得的数字的每一项相加,sum是结果值,将sum赋值给num ,再次循环
let sum = 0
while (num > 0) {
sum += num % 10
num = Math.floor(num / 10)
}
num = sum
}
return num
};
//代码优化
var addDigits = function (num) {
while (num >= 10) {
num = baseSystem(num)
}
return num
};
//该方法是将获得的数字的每一项相加,sum是结果值
var baseSystem = function (x) {
let sum = 0
while (x > 0) {
sum += x % 10
x = Math.floor(x / 10)
}
return sum
}
leetcode: https://leetcode-cn.com/problems/add-digits/
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123





