wky_wsy @ 2024-10-06 22:20:27
题目传送门
蒟蒻不会大整数乘法。
#include <bits/stdc++.h>
using namespace std;
#define int long long
int a[1000],b[1000],c[1000];
string cheng(string s,string d){//乘法
string z;
int ls=s.size();
int ld=d.size();
int lm=max(ls,ld);
for(int i=0;i<ls;i++){
a[i]=s[ls-i-1]-'0';
}
for(int i=0;i<ld;i++){
b[i]=d[ld-i-1]-'0';
}
int l=lm,li=min(ls,ld);
for(int i=0;i<li;i++){
for(int j=0;j<lm;j++){
if(li=ls){
c[j]+=a[i]*b[j]*pow(10,i);
}
else c[j]+=a[j]*b[i]*pow(10,j);
c[j+1]+=c[i]/10;
c[j]%=10;
}
}
for(int i=lm;i<1000;i++){
if(c[i-1]!=0) l++;
}
for(int i=l-1;i>-1;i--){
z+=(char)(c[i]+'0');
}
return z;
}
signed main(){
string s,d;
cin>>s>>d;
string z=cheng(s,d);
cout<<z;
return 0;
}