大整数乘法(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;
}
本文介绍了一种使用C语言实现的大整数乘法算法。该算法通过将大整数分解为数组元素进行逐位相乘,并考虑进位处理,最终合并得到乘法结果。适用于需要处理超出基本数据类型范围的数学运算。
&spm=1001.2101.3001.5002&articleId=4331594&d=1&t=3&u=2e2e3804e8424b269032b13e51789ec1)

被折叠的 条评论
为什么被折叠?



