代码如下
#include <iostream>
#include <stdlib.h>
#include <cstring>
using namespace std;
char s1[10000],s2[10000];
int a[10000],b[10000],c[30000];
int main()
{
int i,j,k=0;
cin>>s1>>s2;
strrev(s1);strrev(s2);
memset(c,0,sizeof(c));
int la=strlen(s1),lb=strlen(s2),lc;
for (i=0;i<la;i++) a[i]=s1[i]-48;
for (i=0;i<lb;i++) b[i]=s2[i]-48;
for (i=0;i<la;i++)
for (j=0;j<lb+1;j++){
c[i+j]+=a[i]*b[j]+k;
k=c[i+j]/10;
c[i+j]%=10;
}
lc=la+lb+10;
while (c[lc]==0 && lc>0) lc--;
for (i=0;i<=lc;i++) cout<<c[lc-i];
cout<<endl;
return 0;
}
#include <iostream>
#include <stdlib.h>
#include <cstring>
using namespace std;
char s1[10000],s2[10000];
int a[10000],b[10000],c[30000];
int main()
{
int i,j,k=0;
cin>>s1>>s2;
strrev(s1);strrev(s2);
memset(c,0,sizeof(c));
int la=strlen(s1),lb=strlen(s2),lc;
for (i=0;i<la;i++) a[i]=s1[i]-48;
for (i=0;i<lb;i++) b[i]=s2[i]-48;
for (i=0;i<la;i++)
for (j=0;j<lb+1;j++){
c[i+j]+=a[i]*b[j]+k;
k=c[i+j]/10;
c[i+j]%=10;
}
lc=la+lb+10;
while (c[lc]==0 && lc>0) lc--;
for (i=0;i<=lc;i++) cout<<c[lc-i];
cout<<endl;
return 0;
}