记录编号 338859 评测结果 AAAAAAAAAAAA
题目名称 增强的乘法问题 最终得分 100
用户昵称 GravatarZwoi_只会打表抄代码的蒟蒻 是否通过 通过
代码语言 C 运行时间 0.025 s
提交时间 2016-11-05 16:11:47 内存使用 0.27 MiB
显示代码纯文本
#include <stdio.h>
#include <string.h>
int a[110],b[110],e[210],lc,ld,i,j,l,ll;
char c[110],d[110];
int main()
{
	freopen("mul.in","r",stdin);
	freopen("mul.out","w",stdout);
	scanf("%s",c);
	scanf("%s",d);
	/*if(c[0]=='-')
	{
		strcpy(c,c+1);
		if(d[0]!='-')
			printf("-");
		else
			strcpy(d,d+1);
	}
	else
		if(d[0]=='-')
		{
			printf("-");
			strcpy(d,d+1);
        }*/
	if(d[0]=='0'||c[0]=='0')
	{
		printf("0");
		return 0;
	}
	lc=strlen(c);
	ld=strlen(d);
	for(i=0;i<lc;i++)
		a[i]=c[i]-'0';
	for(i=0;i<ld;i++)
		b[i]=d[i]-'0';
	l=ll=lc+ld-1;
	for(i=1;i<=lc;i++)
	{
		for(j=1;j<=ld;j++)
		{
			e[l-j+1]+=b[ld-j]*a[lc-i];
			e[l-j]+=(e[l-j+1])/10;
			e[l-j+1]%=10;
		}
		l--;
	}
	if(e[0])
		printf("%d",e[0]);
	for(i=1;i<=ll;i++)
		printf("%d",e[i]);
	return 0;
}