高精度a+b

2022/8/16 23:27:35

本文主要是介绍高精度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;
}


这篇关于高精度a+b的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程