题解 | #高精度整数加法#

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
// 本题目的就是让, 我们一位一位计算得到结果,忽略实际实际数字的位数问题
let row = 0
let num1 = undefined
let num2 = undefined
rl.on('line', function (line) {
    row++
    if(row === 1){
        num1 = line.split('').reverse()
    }else {
        // 反过来是为了,从后面开始计算
        num2 = line.split('').reverse()
        let res = [] 
        // 遍历一位一位计算得到结果
        let len1 = num1.length
        let len2 = num2.length
        let len = len1 > len2 ? len1 : len2
        // 一位一位遍历计算, bit进位
        let bit = 0
        for(let i = 0; i < len; i++){
            let num = Number(num1[i] ? num1[i] : 0) + Number(num2[i] ? num2[i] : 0) + bit
            bit = 0
            if(num >= 10){
                num -= 10
                bit = 1
            }
            res.unshift(num)
        }

        if(bit) res.unshift(bit)
        console.log(res.join(''))
    }
});

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务