高精度乘法
转自: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 阅读(121) 评论(0) 收藏 举报
浙公网安备 33010602011771号