高精度乘法

来源:互联网 发布:javascript效果源代码 编辑:程序博客网 时间:2024/05/16 14:30
#include<stdio.h>#include<stdlib.h>#include<string.h>char s1[1001],s2[1001];int a[1001],b[1001],c[2001],f[1001][2001];int main(){    int alen,blen,clen,i,j,s=0;    gets(s1);    alen=strlen(s1);    gets(s2);    blen=strlen(s2);for(i=0;i<alen;i++)        a[i+1]=s1[alen-i-1]-48;    for(i=0;i<blen;i++)        b[i+1]=s2[blen-i-1]-48;    clen=alen+blen-1;    for(i=0;i<alen;i++)        for(j=0;j<blen;j++)            f[i][j]=a[i]*b[j];    for(i=0;i<clen*2;i++)        for(j=1;j<=clen*2;j++){            c[i]+=f[i][j-i];            c[i+1]=c[i]/10;            c[i]%=10;        }    if(c[clen]>9){c[clen+1]=c[clen]/10;c[clen]%=10;clen++;}    for(i=0;i<=clen;i++)printf("%d",&c[i]);    system("pause");    return 0;}

0 0