📌  相关文章
📜  给定数字总和的数字(小于或等于N)(1)

📅  最后修改于: 2023-12-03 15:11:40.095000             🧑  作者: Mango

题目介绍

给定一个数字N,编写一个函数,返回小于或等于N的数字中每个数字的数字总和。

例如,给定数字N为123,它的数字总和为1+2+3=6。同样,给定数字N为9876,它的数字总和为9+8+7+6=30。

算法设计

该算法的思路非常简单。我们首先将数字N转换为字符串,然后遍历该字符串中的每个字符,并将它们转换为数字。最后加上这些数字的总和以得到所需的结果。

算法的步骤如下:

  1. 将数字N转换为字符串。

  2. 定义一个计数器sum并将其初始化为0。

  3. 遍历该字符串中的每个字符,将其转换为数字并将其加到计数器中。

  4. 返回sum作为结果。

代码实现

以下是用JavaScript实现算法的示例代码:

/**
 * @param {number} n
 * @return {number}
 */
var digitSum = function(n) {
    var str = n.toString();
    var sum = 0;
    for (var i = 0; i < str.length; i++) {
        sum += parseInt(str[i]);
    }
    return sum;
};
测试样例

以下是一些测试样例,用于验证上述算法的正确性:

console.log(digitSum(123)); // 输出6
console.log(digitSum(9876)); // 输出30
console.log(digitSum(0)); // 输出0
console.log(digitSum(1)); // 输出1
console.log(digitSum(123456789)); // 输出45