function sum(a: string, b: string) {
// 1、转为数组
// 2、获取长度 、最长值
// 3、创建 结果组 、是否进制 判断
// 4、循环
// - 创建一个 个位相加结构
// - 取数 判断是否为 0
// - 相加 判断是否有进制
// - 得到结果后 处理数据 推进数组
// 5、 判断是否 到最后一位 且 flag 有进制
// 6、数组倒装
let arr1 = a.split('')
let arr2 = b.split('')
let maxLen = Math.max(arr1.length, arr2.length)
let flag = false
let res = []
for (var i = 0; i < maxLen; i++){
let temp = 0
let num1 = Number( arr1.pop())
let num2 = Number(arr2.pop())
num1 = num1 ? num1 : 0
num2 = num2 ? num2 : 0
if (flag) {
temp = num1 + num2 + 1
} else {
temp = num1 + num2
}
if (Number(temp / 10) >= 1) {
res.push(temp % 10)
flag = true
} else {
res.push(temp)
flag = false
}
if (i == maxLen - 1 && flag) {
res.push(1)
}
}
console.log(res, '---res')
return res.reverse().join('')
}
let a = '42'
let b = '23'
console.log(sum(a,b))
let q = '66666'
let w = '55555'
console.log(sum(q,w))
(6) [1, 2, 2, 2, 2, 1] "---res"
VM353:4 122221
js 两个大数相加
最新推荐文章于 2022-09-27 16:22:39 发布