题解 | #高精度整数加法#

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

const readline=require("readline");
const rl=readline.createInterface({
    input:process.stdin,
    output:process.stdout,
});
let lines=[];
let numone;
let numtwo;
let onesize;
let twosize;
let res;
let ans='';
rl.on("line",(line)=>{
    lines.push(line);
    if(lines.length==1){
        numone=lines[0];
        onesize=numone.length;
    }else{
        lines.shift();
        numtwo=lines[0];
        twosize=numtwo.length;
        if(onesize>=twosize){
            numtwo=numtwo.padStart(onesize,'0');
            let flag=0;
            while(onesize>0){
                res=1*numone[onesize-1]+1*numtwo[onesize-1]
                onesize--;
                if(flag==1){
                    res++;
                    flag=0;
                }
                if(res>9){
                    res=res.toString().slice(1,2);
                    flag=1;
                }
                ans=res+ans
                if(onesize==0&&flag==1){
                    ans=1+ans
                }
            }
        }else{
            numone=numone.padStart(twosize,'0');
            let flag=0;
            while(twosize>0){
                res=1*numone[twosize-1]+1*numtwo[twosize-1]
                twosize--;
                if(flag==1){
                    res++;
                    flag=0;
                }
                if(res>9){
                    res=res.toString().slice(1,2);
                    flag=1;
                }
                ans=res+ans
                if(onesize==0&&flag==1){
                    ans=1+ans
                }
            }
        }
        console.log(ans);
    } 
})

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务