这个题目测试点好像有问题

P1303 A*B Problem

lingdianY @ 2023-05-21 21:18:15

#include <bits/stdc++.h>
using namespace std;
char arr[4010],brr[4010];
int a[4010],b[4010],c[4010]; 
int main(){
    scanf("%s %s",arr,brr);
    int len1 = strlen(arr),len2 = strlen(brr);
    for(int i=0;i<len1;i++){
        a[len1-1-i] = arr[i] - '0';
    } 
    for(int i=0;i<len2;i++){
        b[len2-1-i] = brr[i] - '0';
    }
    int len=0;
    for(int i=0;i<len1;i++){
        for(int j=0;j<len2;j++){
            c[j+len] += a[i]*b[j];
            if(c[j+len]>=10){
                c[j+1+len] += c[j+len]/10;
                c[j+len]%=10;

            }
        }
        len++;
    }
    for(int i=len+min(len1,len2)-1;i>=0;i--) {
        if(i==len+min(len1,len2)-1&&c[i]==0) continue;
        cout<<c[i];
    }
    return 0;
}

在这个题目上述代码ac了,但是当测试9 1234时会出现错误。


by da_ke @ 2023-05-21 21:23:10

@lingdianY @Alex_Wei


|