/**
* 腾讯面试题:两个超过整数存储范围的大正整数相加
* @param {String} a
* @param {String} b
*/
function bigNumbersum(a, b) {
const len = Math.max(a.length, b.length);
a = a.padStart(len, '0');
b = b.padStart(len, '0');
let carry = 0;
let result = '';
for (let i = len - 1; i >= 0; i--) {
const sum = +a[i] + +b[i] + carry;
const r = sum % 10;
carry = Math.floor(sum / 10);
result = r + result;
}
return result
}
console.log(bigNumbersum("4545645456456454654", "4545645456456454654"))
// 知识点:
// 最大安全整数:Number.MAX_SAFE_INTEGER 9007199254740991
// 字符串前补零:"".padStart(len,char)
// 字符串后补零:"".padEnd(len,char)
// 返回最大的数:Math.Max()
// 对一个数进行向下取整:Math.floor()