提交时间:2024-08-20 12:49:12
运行 ID: 168652
#include<bits/stdc++.h> using namespace std; string s1,s2; int a[5010],b[5010],c[10020]; int x=0; bool flag=false; int i,j; int main(){ cin>>s1>>s2; bool f1=false,f2=false; int l1=s1.size(),l2=s2.size(); for(i=1;i<=l1;i++){ if(s1[l1-i]=='-'){ f1=true; break; } a[i]=s1[l1-i]-'0'; } for(i=1;i<=l2;i++){ if(s2[l2-i]=='-'){ f2=true; break; } b[i]=s2[l2-i]-'0'; } if(f1==true)l1--; if(f2==true)l2--; if(f1!=f2) cout<<"-"; for(i=1;i<=l1;i++){ x=0; for(j=1;j<=l2;j++){ c[i+j-1]=c[i+j-1]+a[i]*b[j]+x; x=c[i+j-1]/10; c[i+j-1]=c[i+j-1]%10; //cout<<c[i+j-1]<<" "; } c[i+l2]=x; } //c[l1+l2]=c[l1+l2]+x; for(i=l1+l2;i>=1;i--){ if(c[i]!=0&&flag==false)flag=true; if(flag==true)cout<<c[i]; } if(flag==false)cout<<"0"; return 0; }