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

高精度整数加法

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

#include <iostream>
#include <vector>
using namespace std;
int main() {
    string a, b;
    cin >> a >> b;
    int flag = 0;
    vector<int> vv;
    int i = a.length() - 1, j = b.length() - 1;
    for (; i >= 0 && j >= 0; i--, j--) {
        int  ai = a[i] - '0';
        int bi = b[j] - '0';
        // cout<<(ai+bi+flag)%10<<endl;
        vv.push_back((ai + bi + flag) % 10);
        flag = (ai + bi + flag) / 10;
        
    }
    if(i<0){
        for(int k=j;k>=0;k--){
        int bi = b[k] - '0';
        vv.push_back((bi + flag) % 10);
        flag = (bi + flag) / 10;

        };
    }
    if(j<0){
        for(int k=i;k>=0;k--){

        int ai = a[k] - '0';
        vv.push_back((ai + flag) % 10);
        flag = (ai + flag) / 10;
        };
    }
    if(flag==1)vv.push_back(1);
    for(auto it = vv.rbegin();it!=vv.rend();it++)cout<<*it;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

03-11 10:06
已编辑
河南师范大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务