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

高精度整数加法

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;
}

全部评论

相关推荐

点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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