怎么实现高精度乘法?
RT,是不是用字符串来保存,举个例子吧?
回复 楼主 sunyh1999
不一定要用字符串,字符串只能一位一位的,效率不高,你可以用int [][]来存,每个int可存5位数。
程序代码:#include<stdio.h>
#define N 3
int main(){
int a[3] = {2,3,4}, b[3]={4,5,5}, c[2*N]={0};
int i, j, temp;
for (i=2; i>=0; i--)
{
for (j=2; j>=0; j--)
{
c[2*N-1-(N-1-i+N-1-j)]=a[i]*b[j]+c[2*N-1-(N-1-i+N-1-j)];
}
}
for (i=2*N-1; i>0; i--)
{
temp = c[i]/10;
c[i] = c[i]%10;
c[i-1] = c[i-1]+temp;
}
for (i=0; i<2*N; i++)
{
printf("%d",c[i]);
}
return 0;
}