两个大数之和,js实现

112 阅读1分钟


// 给出两个很大的整数,要求实现程序求出两个整数之和。注:我们假设这两个整数用BigInt都无法表示

let a = '466252553456'
let b = '723238823288'

function sum (a, b) {
    let arrA = a.split('')
    let arrB = b.split('')
    let lengthA= arrA.length
    let lengthB = arrB.length
    let len = lengthA >lengthB ? lengthA : lengthB
    let res = []
    let tem = 0

    for (let i = 0; i < len+1; i++) {
        let sA = Number(arrA[lengthA - 1 - i]) ? Number(arrA[lengthA - 1 - i]) : 0
        let sB = Number(arrB[lengthB - 1 -i]) ? Number(arrB[lengthB - 1 -i]) : 0
        let s = tem + sA + sB
        if ( s > 9) {
            res.unshift(s % 10)
            tem = 1
        } else {
            res.unshift(s)
            tem = 0
        }
    }
    if (!res[0]) {
        res.shift()
    }
    // console.log(res)
    return res.join()
}
sum (a, b)