自己先是看了一遍题解然后关掉回忆着思路写的,结果只对了一个点,这是为啥:(
#include <iostream>
#include <cstring>
using namespace std;
string na,nb;
int a[100005],b[100005],res[100005];
int main()
{
cin >> na >> nb;
int lena = na.length();
int lenb = nb.length();
for(int i = 1;i <= lena;i++)
{
a[i] = na[lena - i] - '0';
}
for(int i = 1;i <= lenb;i++)
{
b[i] = nb[lenb - i] - '0';
}
for(int i = 1;i <= lenb;i++)
{
for(int j = 1;i <= lena;i++)
{
res[i + j - 1] += a[j] * b[i];
}
}
for(int i = 1;i < lena + lenb;i++)
{
if(res[i] >= 10)
{
res[i+1] += res[i] / 10;
res[i] %= 10;
}
}
int len = lena + lenb;
while(res[len] == 0 && len > 1)
{
len--;
}
for(int i = len;i >= 1;i--)
{
cout << res[i];
}
return 0;
}