大数相加 js实现
function largeNumAdd(a = "", b = "") {
// 数字左侧补 0
let maxLen = Math.max(a.length, b.length);
b = b.padStart(maxLen, '0'); //123->123
a = a.padStart(maxLen, '0'); // 1->001
// 结果字符串
let res = '';
// 相加进位保存
let carry = 0;
// 从右到左 个位开始依次相加
for (let i = maxLen - 1; i >= 0; i--) {
let add = parseInt(a[i] || 0) + parseInt(b[i] || 0) + carry;
carry = add > 10 ? 1 : 0;
res = `${add%10}${res}`;
}
// 最高位相加是否有进位
if (carry == 1) {
res = `${carry}${res}`;
}
return res;
}
console.log(largeNumAdd("12311125611111999", "999"));
本文作者:qfluck
本文链接:https://www.cnblogs.com/qfluck/p/15845704.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步