给定两个非负整数(不含前导 0) 𝐴和𝐵,请你计算 𝐴×𝐵的值。
#include<bits/stdc++.h>
using namespace std;
int a[100001],b[5],c[100005];
string sum(string sa,string sb){
if(sa=="0"||sb=="0"){
return "0";
}
int lena=sa.size(),lenb=sb.size();
for(int i=0;i<lena;i++){
a[lena-i]=sa[i]-'0';
}
for(int i=0;i<lenb;i++){
b[lenb-i]=sb[i]-'0';
}
for(int i=1;i<=lena;i++){
for(int j=1;j<=lenb;j++){
c[i+j-1]+=a[i]*b[j];
}
}
for(int i=1;i<=lena+lenb;i++){
c[i+1]+=c[i]/10;
c[i]%=10;
}
string ans;
if(c[lena+lenb]){
ans+=c[lena+lenb]+'0';
}
for(int i=lena+lenb-1;i>=1;i--){
ans+=c[i]+'0';
}
return ans;
}
int main()
{
string sa,sb;
cin>>sa>>sb;
cout<<sum(sa,sb);
return 0;
这个代码交上去是错的