- C++
高精度乘高精度模板
- 2023-12-9 16:58:44 @
#include<bits/stdc++.h> //使用<bits/stdc++.h>库,包含了许多常用的C++函数,如cin、cout等
using namespace std; //使用std命名空间
vector<int> mul(vector<int> &A,vector<int> &B){ //定义函数mul,用于计算两个数的乘积
vector<int>C(A.size()+B.size()); //定义可变数组C,初始值为0
for(int i=0;i<=A.size()-1;i++){
for(int j=0;j<=B.size()-1;j++){
C[i+j]+=A[i]*B[j];
}
}
int t=0;
for(int i=0;i<=C.size()-1;i++){
cout<<" C "<<C[i]<<endl;
t+=C[i];
C[i]=t%10;
t=t/10;
}
while(C.size()>1&&C.back()==0) C.pop_back();
return C;
}
int main() { //定义主函数main
string a,b;
vector<int>A,B,C;
cin>>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');
C = mul(A,B); //计算A和B的乘积,并将结果存储在可变数组c中
for(int i=C.size()-1;i>=0;i--)cout<<C[i]; //将结果可变数组c中的元素从后向前输出
return 0; //返回0
}
0 条评论
目前还没有评论...