【高精度算法】A*B

来源:互联网 发布:解压软件怎么安装 编辑:程序博客网 时间:2024/05/16 17:52
#include<stdio.h>#include<stdlib.h>#include<string.h>char a1[50001],b1[50001];int a[50001],b[50001],i,x,len,j,c[50001];int main (){    gets(a1);    gets(b1);    a[0]=strlen(a1);    b[0]=strlen(b1);    for(i=1;i<=a[0];++i)        a[i]=a1[a[0]-i]-'0';    for(i=1;i<=b[0];++i)        b[i]=b1[b[0]-i]-'0';    for(i=1;i<=a[0];++i)        for(j=1;j<=b[0];++j)            c[i+j-1]+=a[i]*b[j];    len=a[0]+b[0];                                           for(i=1;i<len;++i)        if(c[i]>9){            c[i+1]+=c[i]/10;            c[i]%=10;}    while(c[len]==0 && len>1)        len--;    for(i=len;i>=1;--i)        printf("%d",c[i]);    return 0;}

1 0
原创粉丝点击