Javascript 将此迭代函数转换为递归函数
这是一个用迭代透视图显示输入数字总和的函数:Javascript 将此迭代函数转换为递归函数,javascript,recursion,iteration,Javascript,Recursion,Iteration,这是一个用迭代透视图显示输入数字总和的函数: function sumOfDigits(number) { let strNumber = number.toString() let output = 0; for(i=0;i<strNumber.length;i++){ let tmp = parseInt(strNumber[i]) output = output + tmp } return output } // T
function sumOfDigits(number) {
let strNumber = number.toString()
let output = 0;
for(i=0;i<strNumber.length;i++){
let tmp = parseInt(strNumber[i])
output = output + tmp
}
return output
}
// TEST CASES
console.log(sumOfDigits(512)); // 8
console.log(sumOfDigits(1542)); // 12
console.log(sumOfDigits(5)); // 5
console.log(sumOfDigits(21)); // 3
console.log(sumOfDigits(11111)); // 5
数字(数字)的功能{
设strNumber=number.toString()
设输出=0;
对于(i=0;i我还没有测试它,但是您可以在不转换字符串的情况下尝试以下操作
function sumOfDigits(number)
{
if (number === 0) {
return 0;
}
return (number % 10 + sumOfDigits(Math.floor(number / 10)));
}
确保输入确实是数字格式的我没有测试它,但是您可以尝试以下操作,而不必强制转换为字符串
function sumOfDigits(number)
{
if (number === 0) {
return 0;
}
return (number % 10 + sumOfDigits(Math.floor(number / 10)));
}
确保输入确实是数字格式的使用模运算符,可以得到余数(在除数为10的情况下,是最后一个数字),然后添加下一次迭代
数字的函数sumOfDigits(n){
如果(n==0)返回0
返回值(n%10+数字总和(数学下限(n/10)))
}
log(sumOfDigits(512))
使用模运算符,您可以得到余数(在除数为10的情况下,是最后一个数字),然后添加下一次迭代
数字的函数sumOfDigits(n){
如果(n==0)返回0
返回值(n%10+数字总和(数学下限(n/10)))
}
console.log(sumOfDigits(512))
给你
function sumOfDigitsRecursive(number){
let strNumber = number.toString()
if(strNumber.length<=0)
return 0
return parseInt(strNumber[0])+sumOfDigitsRecursive(strNumber.slice(1,strNumber.length))
}
函数sumOfDigitsRecursive(数字){
设strNumber=number.toString()
如果(strNumber.length给你
function sumOfDigitsRecursive(number){
let strNumber = number.toString()
if(strNumber.length<=0)
return 0
return parseInt(strNumber[0])+sumOfDigitsRecursive(strNumber.slice(1,strNumber.length))
}
函数sumOfDigitsRecursive(数字){
设strNumber=number.toString()
if(strNumber.length