使用两种以上的方法添加数字的位数JavaScript
我们需要编写一个JavaScript函数,该函数必须以数字表示,并反复将其数字求和,直到将其转换为一个数字为止。
我们将通过两种方法解决此问题-
方法1:使用循环
此解决方案利用while循环来递归地将数字相加。
示例
const num = 123456;
const addDigits = (num = 1) => {
let sum = num;
while(sum % 10 !== sum){
let sum1 = 0;
while(sum > 0){
sum1 += sum % 10;
sum = Math.floor(sum / 10);
}
sum = sum1;
};
return sum;
};
console.log(addDigits(num));方法2:使用恒定时间解(O(1)时间复杂度)
该解决方案利用了数学的Congruence公式,建议读者探索该公式以更好地理解该解决方案。
示例
const num = 123456;
const addDigits = (num = 1) => {
let predicate = (num - 1) % 9;
return ++predicate;
};
console.log(addDigits(num));输出结果
控制台中这两种方法的输出将是-
3
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练