高精度乘法(大整数乘法)

    科技2025-10-18  13

    高精度乘法(大整数乘法)

    #include<bits/stdc++.h> using namespace std; char a[10000],b[10000]; int la,lb,sa[10000],sb[10000],x,sc[10000],clen; int main() { cin>>a>>b;//输入乘数a和乘数b la=strlen(a);//a的长度 lb=strlen(b);//b的长度 for(int i=0;i<la;i++)//将数组a的字符转化为数字存入数组sa当中 sa[la-i]=a[i]-48; for(int i=0;i<lb;i++)//将数组b的字符转化为数字存入数组sb当中 sb[lb-i]=b[i]-48; for(int i=1;i<=la;i++)//相乘 { x=0; for(int j=1;j<=lb;j++) { sc[i+j-1]+=sa[i]*sb[j]+x; x=sc[i+j-1]/10; sc[i+j-1]%=10; } sc[i+lb]=x; } clen=la+lb; while(sc[clen]==0&&clen>1)//删去末尾的0 clen--; for(int i=clen;i>=1;i--)//输出 cout<<sc[i]; return 0; }
    Processed: 0.011, SQL: 8