高精度a+b

高精度a+b

acwing3596.a+b

存在vector< int >中去,倒着存,低位在前,高位在后

代码

#include<iostream>
#include<vector>
#include<cstring>

using namespace std;

vector<int> add(vector<int>& A,vector<int>& B)
{
    vector<int> C;
    for(int i = 0, t = 0; i < A.size() || i < B.size() || t; i ++)
    {
        if(i < A.size()) t += A[i];
        if(i < B.size()) t += B[i];
        C.push_back(t % 10);
        t /= 10;
    }
    
    return C;
}


int main()
{
    string a,b;
    
    while(cin >> a >> b)
    {
        vector<int> A,B;
        for(int i = a.size() - 1; i >= 0; i --) A.push_back(a[i] - '0');
        for(int i = b.size() - 1; i >= 0; i --) B.push_back(b[i] - '0');
        
        auto C = add(A,B);
        
        for(int i = C.size() - 1; i >= 0; i --) cout << C[i];
        
        cout << endl;
    }
    
    
    return 0;
}
posted @   r涤生  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示