比赛 |
NOIP2015普及组练习 |
评测结果 |
AAAAAAAAAAAA |
题目名称 |
增强的乘法问题 |
最终得分 |
100 |
用户昵称 |
AAAAAAAAAA |
运行时间 |
0.007 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-11-05 19:39:12 |
显示代码纯文本
#include<fstream>
#include<string>
using namespace std;
ifstream fin("mul.in");
ofstream fout("mul.out");
string A,B,C;
int LA,LB,LC;
int a[200],b[200],c[200];
int main()
{
int i,j;
fin>>A>>B;
LA=A.length();
LB=B.length();
if(A=="0"||B=="0")
{
fout<<0<<endl;
return 0;
}
for(i=LA-1;i>=0;i--)
{
a[LA-i]=int(A[i]-48);
}
for(i=LB-1;i>=0;i--)
{
b[LB-i]=int(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]+48);
}
fout<<C<<endl;
return 0;
}