首页 > 试题广场 >

实现大数的加法

[编程题]实现大数的加法
  • 热度指数:833 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定两个字符串形式的非负整数 num1和num2 ,计算它们的和。


输入描述:
两个字符串形式的非负整数


输出描述:
对于每组测试数据,输出字符串,不包含前导零和多余空格。
示例1

输入

13254 4354325

输出

4367579

备注:
1. num1 和num2 的长度都小于 5100;
2. num1 和num2 都只包含数字 0-9;
3. num1 和num2 都不包含任何前导零。
var arr = readline().split(' ')
var s1 = arr[0], s2 = arr[1], i = s1.length-1, j = s2.length -1
var carry = 0,res = []
while(i >= 0 || j >= 0 || carry){
    let num1 = i >= 0 ? parseInt(s1[i]) : 0
    let num2 = j >= 0 ? parseInt(s2[j]) : 0
    let sum = num1 + num2 + carry
    carry = Math.floor(sum / 10)
    res.push(sum % 10)
    i--
    j--
}
console.log(res.reverse().join(''))

发表于 2021-09-18 16:00:25 回复(0)