JavaScript中将数字的各位数字相加直到和为一位数


我们需要创建一个函数,该函数接收一个数字并递归地找到其各位数字的和,直到该和为一位数。

例如

findSum(12345) = 1+2+3+4+5 = 15 = 1+5 = 6

因此,输出应为6。

让我们为这个函数findSum()编写代码

// using recursion
const findSum = (num) => {
   if(num < 10){
      return num;
   }
   const lastDigit = num % 10;
   const remainingNum = Math.floor(num / 10);
   return findSum(lastDigit + findSum(remainingNum));
}
console.log(findSum(2568));

我们检查数字是否小于10,如果小于10,则它已经是最小值,我们应该返回它;否则,我们应该返回对递归函数的调用,该函数从数字中递归地获取最后一位数字,并将其相加,直到它小于10。

因此,此代码的输出将为:

3

更新于:2020年10月10日

1K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告