Contest2653 - 【C2】高精乘(吴)

2024-07-15 12:00:00
3333-07-15 16:00:00
运行中 公开 当前时间:2024-09-20 10:29:55

信息与公告



#include<bits/stdc++.h>
using namespace std;
int x[20000],y[20000],z[20005];
int main(){
    string a,b;
    cin>>a>>b;
    reverse(a.begin(),a.end());
    reverse(b.begin(),b.end());
    for(int i=0;i<a.size();i++) x[i]=a[i]-'0';
    for(int i=0;i<b.size();i++) y[i]=b[i]-'0';

    for(int i=0;i<a.size();i++){        //a的第i位*b的第j位
        for(int j=0;j<b.size();j++){
            z[i+j]+=x[i]*y[j];    
        }
    }
    int len=a.size()+b.size()-1;
    for(int i=0;i<len;i++){
        z[i+1]+=z[i]/10;
        z[i]%=10;
    }
    if(z[len]) len++;
    for(int i=len-1;i>=0;i--) cout<<z[i];
    return 0;
}