C++ 高精度乘法

2021/12/12 17:16:41

本文主要是介绍C++ 高精度乘法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include <iostream>
#include <string>
#include <vector>

using namespace std;

vector<int> mul(vector<int> &A, int b)
{
    vector<int> C;
    
    int t = 0;
    for ( int i = 0, l = A.size(); i < l || t; i++ )
    {
        if ( i < l ) t += A[i] * b;
        C.push_back( t % 10 );
        t /= 10;
    }
    while ( C.size() > 1 && C.back() == 0 ) C.pop_back();
    return C;
}

int main()
{
    string a;
    int b;
    vector<int> A;
    
    cin >> a >> b;
    for ( int i = a.size() - 1; i >= 0; i-- ) A.push_back(a[i] - '0');
    
    vector<int> C = mul(A, b);
    
    for ( int i = C.size() - 1; i >= 0; i-- ) cout << C[i];
    cout << endl;
    
    return 0;
}



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


扫一扫关注最新编程教程