公牛在数学上比母牛好得多。他们可以将巨大的整数相乘,并获得完全精确的答案……或者他们这样说。农夫约翰想知道他们的答案是否正确。帮助他检查公牛队的答案。读两个正整数(每个不超过40位)并计算其乘积。将其输出为正常数字(没有多余的前导零)。
FJ要求您自己执行此操作;不要对乘法使用特殊的库函数。
输入值
*第1…2行:每行包含一个十进制数字。
输出量
*第1行:两个输入行的确切乘积
样本输入
11111111111111
1111111111
样本输出
12345679011110987654321
#include
#include
int main()
{
char aa[50],bb[50];
int s[100]={
0},i,j,f=0,k,l1,l2,x,y,z,a[50],b[50];
scanf("%s%s",aa,bb);
l1=strlen(aa),l2=strlen(bb);
for(i=l1-1,j=0;i>=0;i--)
a[j++]=aa[i]-'0';
for(i=l2-1,j=0;i>=0;i--)
b[j++]=bb[i]-'0';
for(i=0;i<l2;i++)
{
f=0;
k=i;x=0,y=0;
for(j=0;j<l1;j++)
{
x=y+a[j]*b[i]+s[k];
y=x/10;
s[k]=x%10;
k++;
}
if(y!=0)
f=1,s[k]=y;
/*for(int ii=k+f-1;ii>=0;ii--)
printf("%d",s[ii]);
printf("\n%d\n",k);*/
}
for(i=k+f-1;i>=0;i--)
printf("%d",s[i]);
printf("\n");
return 0;
}