#include <iostream>
using namespace std;
const int N=42;
char str1[N],str2[N];
int s1[N],s2[N],result[2*N];
int main()
{
int i,j,len1,len2,len;
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
for(i=0;i<2*N;i++)
result[i]=0;
cin>>str1;
cin>>str2;
len1=strlen(str1);
len2=strlen(str2);
j=0;
for(i=len1-1;i>=0;i--)
s1[j++]=str1[i]-'0';
j=0;
for(i=len2-1;i>=0;i--)
s2[j++]=str2[i]-'0';
for(i=0;i<len1;i++)
{
for(j=0;j<len2;j++)
{
result[i+j]+=s1[i]*s2[j];
}
}
len=len1+len2;
for(i=0;i<len;i++)
{
if(result[i]>=10)
{
result[i+1]+=result[i]/10;
result[i]=result[i]%10;
}
}
bool flag=true;
for(i=len;i>=0;i--)
{
if(flag)
{
if(result[i]>0)
{
flag=false;
cout<<result[i];
}
}
else
cout<<result[i];
}
cout<<endl;
return 0;
}
转载于:https://www.cnblogs.com/buptLizer/archive/2011/09/04/2166211.html