#include <bits/stdc++.h>
using namespace std;
string multi(string a,string b)
{
int arr[2020],i,j;
memset(arr,0,sizeof(arr));
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
for(i=0;i<a.length();i++)
{
for(j=0;j<b.length();j++)
{
arr[i+j]+=(a[i]-'0')*(b[j]-'0');
}
}
string ret(a.length()+b.length(),'0');
for(i=0;i<a.length()+b.length();i++)
{
arr[i+1]+=arr[i]/10;
arr[i]%=10;
ret[i]+=arr[i];
}
reverse(ret.begin(),ret.end());
if(ret[0]=='0')
ret=ret.substr(1);
return ret;
}
int main()
{
string a,b;
while(cin>>a>>b)
{
cout<<multi(a,b)<<endl;
}
}
51nod 1027 大数乘法
最新推荐文章于 2018-09-04 17:32:28 发布