给出2个大整数A,B,计算A*B的结果。
Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 1000,A,B >= 0)
Output
输出A * B
Sample Input
123456 234567
Sample Output
28958703552
#include<stdio.h>
#include<string.h>
int main()
{
char a[1005],b[1005];
int lena,lenb,i,j,k=0,t=0;
int c[3000]={0};
scanf("%s%s",a,b);
lena=strlen(a);
lenb=strlen(b);
for(i=lena-1;i>=0;i--)//乘法运算
{
for(j=lenb-1;j>=0;j--)
{
c[i+j+1]+=(a[i]-'0')*(b[j]-'0');
}
}
for(i=lena+lenb-1;i>=0;i--)//进位
{
if(c[i]>9)
{
c[i-1]+=c[i]/10;
c[i]%=10;
}
}
while(!c[k]&&k!=lena+lenb-1)//将首位为0 的去掉
k++;
for(i=k;i<lena+lenb;i++)
{
printf("%d",c[i]);
}
printf("\n");
return 0;
}