比赛 |
NOIP2015普及组练习 |
评测结果 |
AWEWEEEEEWAA |
题目名称 |
增强的乘法问题 |
最终得分 |
25 |
用户昵称 |
微星矢柏 |
运行时间 |
0.529 s |
代码语言 |
C++ |
内存使用 |
0.23 MiB |
提交时间 |
2015-11-05 17:02:04 |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
void init(int a[])
{
string s;
cin>>s;
a[0]=s.length();
for(int i=1;i<=a[0];++i)
a[i]=s[a[0]-i]-'0';
}
void mult(int a[],int b[],int c[])
{
int x,i,j;
for(i=1;i<=a[0];++i)
{
x=0;
for(j=1;j<=b[0];++j)
{
c[i+j-1]=a[i]*b[i]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+b[0]]=x;
}
c[0]=a[0]+b[0];
while(c[c[0]]==0&&c[0]>1)
--c[0];
}
void prn(int c[])
{
for(int i=c[0];i>0;i--)
cout<<c[i];
}
int main()
{
freopen("mul.in","r",stdin);
freopen("mul.out","w",stdout);
int m[100]={0},n[100]={0},c[100]={0};
init(m);init(n);
mult(m,n,c);
prn(c);
return 0;
}