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

高精度整数加法

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

#include <iostream>

using namespace std;

string bigIntAdd(string s1,string s2){
    string res;
    int i=s1.size()-1,j=s2.size()-1;
    int add,carry = 0;
    while (i>=0 && j>=0) {
        add = (s1[i--]-'0') + (s2[j--]-'0') + carry;
        carry = add / 10;
        res = to_string(add%10) + res;
    }
    while (i>=0){
        add = (s1[i--]-'0') + carry;
        carry = add / 10;
        res = to_string(add%10) + res;
    }
    while (j>=0){
        add = (s2[j--]-'0') + carry;
        carry = add / 10;
        res = to_string(add%10) + res;
    }
    while (carry){
        res = to_string(carry) + res;
        carry = 0;
    }
    return res;
}

int main(){
    string s1,s2;
    while (cin>>s1>>s2){
        cout<<bigIntAdd(s1,s2)<<endl;
    }

    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务