各位dalao救救蒟蒻吧
RE两点
cpp
#include<bits/stdc++.h>
using namespace std;
const int maxN=105;
struct Bint{
int n;
char s[maxN];
Bint(){}
Bint(long long x){
n=0;
while(x){
s[n++]=x%10+'0';
x/=10;
}
if(!n)s[n++]='0';
}
Bint(char x[]){
n=strlen(x);
for(int i=0;i<n;i++)s[i]=x[n-1-i];
}
};
istream& operator >> (istream& in,Bint& A){
in>>A.s;
A.n=strlen(A.s);
for(int i=0,j=A.n-1;i < j;i++,j--)swap(A.s[i], A.s[j]);
return in;
}
ostream& operator << (ostream& out, Bint A){
for(int i=A.n-1;i>=0;i--)out<<A.s[i];
return out;
}
bool operator <= (Bint A,Bint B){
if(A.n!=B.n)return A.n<B.n;
for(int i=A.n-1;i>=0;i--)if(A.s[i]!=B.s[i])return A.s[i]<B.s[i];
return true;
}
Bint operator * (Bint A,Bint B){
Bint C;
C.n=A.n+B.n;
int X[maxN]={};
for(int i=0;i<A.n;i++)for(int j=0;j<B.n;j++)X[i+j]+=(A.s[i]-'0')*(B.s[j]-'0');
for(int i=0;i<C.n;i++){
X[i+1]+=X[i]/10;
C.s[i]=X[i]%10+'0';
}
while(C.n>1&&C.s[C.n-1]=='0')C.s[--C.n]=0;
return C;
}
int main(){
Bint A,B;
cin>>A>>B;
cout<<A*B;
return 0;
}