高精度乘法
转自:http://blog.csdn.net/cnyali/article/details/43447755
程序:
#include<stdio.h> #include<stdlib.h> #include<string.h> int a[1000],b[1000],c[2000]; char s[1000]; int main(){ int i,j,k,m,n; int alen,blen,clen; gets(s); alen=strlen(s); for(i=alen-1;i>=0;i--) a[alen-i]=s[i]-'0'; gets(s); blen=strlen(s); for(i=blen-1;i>=0;i--) b[blen-i]=s[i]-'0'; for(i=1;i<=alen;i++) for(j=1;j<=blen;j++) c[i+j-1]+=a[i]*b[j]; for(i=1;i<alen+blen-1;i++) if(c[i]>=10){ c[i+1]+=c[i]/10; c[i]%=10; } for(i=alen+blen-1;i>=1;i--) printf("%d",c[i]); puts(""); return 0; }
posted on 2017-07-03 16:10 gavanwanggw 阅读(113) 评论(0) 编辑 收藏 举报