Contest2653 - 【C2】高精乘(吴)
2024-07-15 12:00:00
3333-07-15 16:00:00
信息与公告
#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; }