题目来源
洛谷P1303A*B Problem
https://www.luogu.org/problem/show?pid=1303
注意事项
特判0。。。
代码(C++)
#include <iostream>
#include <string>
using namespace std;
int a[2500],b[2500],c[5500],m,n,k;
string s;
int main()
{
cin>>s; m=s.size();
if(m==1&&s[0]=='0')
{
cout<<"0";
return 0;
}
for(int i=m-1;i>=0;--i)
a[m-i]=s[i]-48;
cin>>s; n=s.size();
if(n==1&&s[0]=='0')
{
cout<<"0";
return 0;
}
for(int i=n-1;i>=0;--i)
b[n-i]=s[i]-48;
k=m+n-1;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
c[i+j-1]+=b[i]*a[j];
for(int i=1;i<=k;++i)
{
if(i==k&&c[i]>=10) ++k;
c[i+1]+=c[i]/10;
c[i]%=10;
}
for(int i=k;i>=1;--i)
cout<<c[i];
return 0;
}