#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 1005
int main()
{
char a[N],b[N];
int x[N],y[N];
while(~scanf("%s%s",a,b))
{
int c[N]={0};
int i,j,k;
int l1=strlen(a),l2=strlen(b);
for(i=0,j=l1-1;i<l1;i++,j--)
{
x[i]=a[j]-'0';
}
for(i=0,j=l2-1;i<l2;i++,j--)
{
y[i]=b[j]-'0';
}
int max=l1+l2;
for(i=0;i<l1;i++)
{
for(j=0;j<l2;j++)
{
c[i+j]+=x[i]*y[j]; //+= is key
}
}
for(i=0;i<max;i++)
{
if(c[i]>=10)
{
k=c[i]/10;
c[i]=c[i]%10;
c[i+1]+=k; //+= is key
}
}
while(c[max-1]==0)
{
if(c[max-1]==0)
max--;
}
for(i=max-1;i>=0;i--)
printf("%d",c[i]);
printf("\n");
}
}
c语言大数乘法
最新推荐文章于 2022-05-05 19:50:56 发布