大整數乘法(C語言實現)
int mul(int l1,int l2,int a1[101],int a2[101],int c[101])
{//計算a1與a2的乘積,結果保存到c中,返回c的長度
int i,j;
int y;//進位
int x;//乘積
int z;//餘數
int w;//乘積結果的保存位置
for(i=0;i<=100;i++)c[i]=0;//初始化c
for(i=0;i<l1;i++)
{
for(j=0;j<l2;j++)
{
x=a1[i]*a2[j];
y=x/10;
z=x%10;
w=i+j;
c[w]=c[w]+z;
c[w+1]=c[w+1]+y+c[w]/10;
c[w]=c[w]%10;
}
}
w=l1+l2;
if(c[w-1]==0)w=w-1;
return w;
}