0分求救

P1303 A*B Problem

firewithfly @ 2025-01-04 15:41:37

#include<bits/stdc++.h>
using namespace std;
string a1,b1;
int a[2500],b[2500],f[5000];
int main(){
    getline(cin,a1);
    getline(cin,b1);
    for(int i=0;i<a1.size();i++){
        a[a1.size()-1-i]=a1[i]-'0';
    }
    for(int i=0;i<b1.size();i++){
        b[b1.size()-1-i]=b1[i]-'0';
    }
    if(a[0]==0||b[0]==0){
        cout<<"0";
    }
    else{
    int len=a1.size()+b1.size();
    for(int i=0;i<a1.size();i++){
        for(int m=0;m<b1.size();m++){
            f[i+m]=a[i]*b[m];
        }
    }
    if(f[len-1]==0){
        len--;
    for(int i=0;i<len;i++){
        if(f[i]>=10){
            f[i+1]+=f[i]/10;
            f[i]=f[i]%10;
        }
        }

    }
    for(int i=len-1;i>=0;i--)
    cout<<f[i];
    }

}

by Shotaro_Kujo @ 2025-01-04 16:00:40

建议用python,没有上限


by YSH_sometimes @ 2025-01-04 16:05:02

进位好像没弄


|