记录编号 |
285463 |
评测结果 |
AAAAAAAAAAAA |
题目名称 |
增强的乘法问题 |
最终得分 |
100 |
用户昵称 |
@@@ |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.002 s |
提交时间 |
2016-07-22 16:32:14 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include <fstream>
#include <string>
#define maxn 201
using namespace std;
ifstream cin("mul.in");
ofstream cout("mul.out");
int a[maxn],b[maxn],c[maxn],LA,LB,LC,i,j,t;
string mul(string A,string B)
{
if(A=="0"||B=="0")
return "0";
string C;
LA=A.length();
LB=B.length();
for(i=LA-1;i>=0;i--)
a[LA-i]=A[i]-48;
for(i=LB-1;i>=0;i--)
b[LB-i]=B[i]-48;
for(i=1;i<=LA;i++)
for(j=1;j<=LB;j++)
{
c[i+j-1]+=a[i]*b[j];
c[i+j]+=c[i+j-1]/10;
c[i+j-1]%=10;
}
LC=LA+LB;
while(c[LC]==0&&LC>1)LC--;
C="";
for(i=LC;i>=1;i--)
C+=char(c[i]+'0');
return C;
}
int main()
{
string a,b;
cin>>a>>b;
cout<<mul(a,b);
cin.close();
cout.close();
return 0;
}