怎么实现高精度乘法?
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; }