记录编号 285463 评测结果 AAAAAAAAAAAA
题目名称 增强的乘法问题 最终得分 100
用户昵称 Gravatar@@@ 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2016-07-22 16:32:14 内存使用 0.32 MiB
显示代码纯文本
#include <fstream>
#include <string>
#define maxn 201
using namespace std;
ifstream cin("mul.in");
ofstream cout("mul.out");
int a[maxn],b[maxn],c[maxn],LA,LB,LC,i,j,t;
string mul(string A,string B)
{
	if(A=="0"||B=="0")
		return "0";
	
	string C;
	LA=A.length();
	LB=B.length();
	
	for(i=LA-1;i>=0;i--)
		a[LA-i]=A[i]-48;
	for(i=LB-1;i>=0;i--)
		b[LB-i]=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]+'0');
	
	return C;
}
int main()
{		
	string a,b;
	cin>>a>>b;
	cout<<mul(a,b);
	cin.close();
	cout.close();
	return 0; 
}