5个RE

P1303 A*B Problem

Little_Andyyu @ 2022-08-15 19:45:43


#include<bits/stdc++.h>
using namespace std;
int main()
{
    char d[20000],e[20000];
    int a[20000],b[20000],c[10001],la,lb,lc,x;
        memset(a,0,sizeof(a));
            memset(b,0,sizeof(b));
            memset(c,0,sizeof(c));
            cin>>d;
            cin>>e;
            la=strlen(d);
            lb=strlen(e);
            for(int i=0;i<=la-1;i++){
                a[la-i]=int(d[i]-'0');
            }
            for(int i=0;i<=lb-1;i++){
                            b[lb-i]=(e[i]-'0');
                        }
                        for(int i=1;i<=la;i++){
                            x=0;
                            for(int j=1;j<=lb;i++){
                                c[i+j-1]+=a[i]*b[j]+x;
                                x=c[i+j-1]/10;
                                c[i+j-1]%=10;
                            }
                            c[i+lb]=x;
                        }
                        lc=la+lb;
    while(lc>1&&c[lc]==0){
        lc--;
    }for(int i=lc;i>=1;i--){
        cout<<c[i];
    }                   
    return 0;
}

by 大眼仔Happy @ 2022-08-15 19:52:28

@ajahjahah 10^{10000}>10^{2000}


by ajahjahah @ 2022-08-15 19:54:01

艹,我瞎了


by ajahjahah @ 2022-08-15 19:59:25

初步定位应该是加法的2个for那边出了问题


by ajahjahah @ 2022-08-15 20:01:25

for(int j=1;j<=lb;i++)

\downarrow

for(int j=1;j<=lb;j++)

@Little_Andyyu


by Little_Andyyu @ 2022-08-15 20:05:16

@ajahjahah 改了,但是现在只过了#1


|