📜  求偶数位和奇数位的数字之和(1)

📅  最后修改于: 2023-12-03 14:55:58.620000             🧑  作者: Mango

求偶数位和奇数位的数字之和

若一个数字为 12345,则它的奇数位之和为 1+3+5=9,偶数位之和为 2+4=6。本文介绍如何实现这个功能。

算法思路

将数字转换为字符串之后,遍历字符串中的每一个元素,根据下标的奇偶性将元素的值加到对应的变量中。最后返回奇数位之和和偶数位之和。

代码实现

以下是 Python 代码实现:

def sum_odd_even(num):
    num_str = str(num)
    odd_sum = 0
    even_sum = 0
    for i, n in enumerate(num_str):
        if i % 2 == 0:
            even_sum += int(n)
        else:
            odd_sum += int(n)
    return odd_sum, even_sum

以下是 JavaScript 代码实现:

function sumOddEven(num) {
    const numStr = num.toString();
    let oddSum = 0;
    let evenSum = 0;
    for (let i = 0; i < numStr.length; i++) {
        if (i % 2 === 0) {
            evenSum += parseInt(numStr[i]);
        } else {
            oddSum += parseInt(numStr[i]);
        }
    }
    return [oddSum, evenSum];
}
示例
>>> sum_odd_even(12345)
(9, 6)
console.log(sumOddEven(12345)); // [9, 6]
总结

本文介绍了如何求一个数字的奇数位之和和偶数位之和,以及如何用 Python 和 JavaScript 实现。这个功能在实际开发中经常会用到,例如身份证号码校验等。