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