本文主要是介绍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++ 高精度乘法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!