大数相乘

x[m]和x[m-1]相乘,xx[m]存的是x[m]的长度

 

int  x[501][1500];
int xx[501];
void multiply(int m)
{
    int a[1500];
    memset(a,0,sizeof(a));
    int i,j,k;
    for(i=0;i<xx[m];i++)
       for(j=0;j<xx[m-1];j++)
         a[i+j+1]+=x[m][i]*x[m-1][j];
    for(k=i+j-1;k>=1;k--)
    {
        a[k-1]+=a[k]/10;
        a[k]=a[k]%10;
    }
    for(k=0;a[k]==0;k++)
        ;
     int kk=0;
     xx[m]=i+j-k;
    for(;kk<i+j;kk++,k++)
        x[m][kk]=a[k];
}

你可能感兴趣的:(大数相乘)