#include <iostream>
#include <string>
#include <cstdio>
#include <cmath>
using namespace std;
string add(string a,string b)
{
int m,n,i,p,in;
string *s;
m=a.size();
n=b.size();
s=m<n?&a:&b;
for(i=0;i<fabs(m-n);i++)
*s='0'+*s;
m=a.size();
in=0,p=0;
for(i=m-1;i>=0;i--)
{
p=a[i]+b[i]+in-'0'*2;
a[i]=p%10+'0';
in=p/10;
}
if(in)
a='1'+a;
return a;
}
string multiply(string a,int b)
{
int p=0,l,i,in=0;
char c;
l=a.size();
for(i=l-1;i>=0;i--)
{
p=(a[i]-'0')*b+in;
a[i]=p%10+'0';
in=p/10;
}
if(in)
{
c='0'+in;
a=c+a;
}
return a;
}
string BIG_NUMBER_MULTIPLY(string a,string b)
{
int l=b.size(),i;
string d="0",sum="0",c;
for(i=l-1;i>=0;i--)
{
c=a;
c=multiply(c,b[i]-'0');
if(i!=l-1)
{
c=c+d;
d=d+'0';
}
sum=add(sum,c);
}
return sum;
}
int main()
{
string a,b;
while(cin>>a>>b)
{
if(a=="0"||b=="0")
cout<<0<<endl;
else
{
cout<<BIG_NUMBER_MULTIPLY(a,b)<<endl;
}
}
return 0;
}
UVA - 10106 Product
最新推荐文章于 2020-02-01 18:16:00 发布