题解 | #高精度整数加法#
高精度整数加法
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(''))
}
});
查看7道真题和解析