运用递归算法————求一个数字各个位数上的数字的和

如:123------------>1+2+3=6

利用递归算法

function getEverySum(x){
    if (x<10){
        return x;
    }
    return x%10+getEverySum(parseInt(x/10));
}
console.log(getEverySum(123));

代码解析:

           声明一个函数,输入一个数字,先判断,如果该数字是一位数(<10),那么直接返回,相反,如果不是,那么任何一个数与10求余即可得到其个位数字------>即x%10;如果是两位数这个结果就已经出来了,但如果超过两位数,比如说三位数,除以10取整(parseInt(x/10)),这时会得到一个两位数,那么想要得到这个两位数的十位上的数字,需要再次放入这个函数里面进行计算即可得到------->(getEverySum(parseInt(x/10));

 

上面输出的结果是6,最后输入的数字可以任意更换成想要计算的数字。

 

你可能感兴趣的:(运用递归算法————求一个数字各个位数上的数字的和)