高精度乘法
#include<iostream> #include<vector> using namespace std; vector<int> mul(vector<int> &A,int b){ int t=0;//初始进位为0 vector<int> C; for(int i=0;i<A.size()||t;i++){//当进位不为0和A还有位数时 if(i<A.size()) t+=A[i]*b; C.push_back(t%10);//当前位 t/=10;//进位 } while(C.size()>1&&C.back()==0) C.pop_back();//防止出现前导0 return C; } int main(){ string a; int b; cin>>a>>b; vector<int> A; for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');//别忘了将字符数字转换为整数 auto C=mul(A,b); for(int i=C.size()-1;i>=0;i--) cout<<C[i]; return 0; }