蒟蒻全WA了,求调

P1303 A*B Problem

Huayecai @ 2024-08-15 10:56:31

#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[2005],b[2005];
int c[4050];
int lena,lenb,lenc;
int main(){
    //getline(cin,s1);"为什么getline WA光了 
    //getline(cin,s2);
    cin>>s1>>s2;
    for(int i=s1.size()-1;i>=0;i--){
        a[lena++]=s1[i]-'0';
    }lena--;
    for(int i=s2.size()-1;i>=0;i--){
        b[lenb++]=s2[i]-'0';
    }lenb--;
    for(int i=0;i<=lena;i++){
        for(int j=0;j<=lenb;j++){
            c[i+j]+=a[i]*b[j];
        }
    }
    for(int i=0;i<=lena+lenb+1;i++){
        if(c[i]>=10){
            c[i+1]+=c[i]/10;
            c[i]%=10;
        }
    }
    for(int i=4049;i>=0;i--){
        if(c[i]!=0){
            lenc=i;
            break;
        }
    }
    for(int i=lenc;i>=0;i--){
        cout<<c[i];
    }
    return 0;
}

by guanzisheng2 @ 2024-08-15 10:58:24

#include<bits/stdc++.h>
using namespace std;
char s1[2005],s2[2005];
int l1,l2,l;
int a[2005],b[2005],c[4005];
int main(){
    scanf("%s1",s1);
    scanf("%s2",s2);
    l1=strlen(s1);
    l2=strlen(s2);
    for(int i=0;i<l1;i++){
        a[l1-i]=s1[i]-'0';
    }
    for(int i=0;i<l2;i++){
        b[l2-i]=s2[i]-'0';
    }
    for(int i=1;i<=l1;i++){
        for(int j=1;j<=l2;j++){
            c[i+j-1]+=a[i]*b[j];
            if(c[i+j-1]>=10){
                c[i+j]+=c[i+j-1]/10;
                c[i+j-1]=c[i+j-1]%10;
            }
        }
    }
    int l;
    if(c[l1+l2]>0){
        l=l1+l2;
    }
    else{
        l=l1+l2-1;
    }
    if(a[l1]==0||b[l2]==0){
        l=1;
    }
    for(int i=l;i>=1;i--){
        cout<<c[i];
    }
}

by Huayecai @ 2024-08-15 11:05:13

@xuruizhe150711 感谢,已关


|