大整數乘法(C語言實現)

大整數乘法(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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章