比赛 |
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;
- }