Dr_Ikun @ 2022-08-31 12:09:27
#include<bits/stdc++.h>
using namespace std;
int ai[2001],bi[2001],c[4005];
int main()
{
int ma=0,g=1;
string a,b;
cin>>a>>b;
for(int i=a.size()-1;i>=0;i--)
{
ai[g]=a[i]-'0';
g++;
}
g=1;
for(int i=b.size()-1;i>=0;i--)
{
bi[g]=b[i]-'0';
g++;
}
for(int i=1;i<=a.size();i++)
{
for(int j=1;j<=b.size();j++)
{
int k=ai[i]*bi[j],l=i+j-1;
do
{
c[l]=c[l]+k%10;
k=(k-k%10)/10+c[l]/10;
c[l]=c[l]%10;
l++;
}while(k>0);
if(ma<l) ma=l-1;
}
}
for(int i=ma;i>=1;i--)
{
cout<<c[i];
}
return 0;
}
by IDNo1 @ 2022-08-31 12:21:47
@cmddd
数组开小了
by IDNo1 @ 2022-08-31 12:22:16
AC 代码
#include<bits/stdc++.h>
using namespace std;
int ai[20001],bi[20001],c[40005];
int ma, g = 1;
string a, b;
int main()
{
cin >> a >> b;
if (a == "0" || b == "0") {
cout << "0";
return 0;
}
for(int i=a.size()-1; i>=0; i--) {
ai[g] = a[i] - '0';
g++;
}
g = 1;
for(int i=b.size()-1; i>=0; i--) {
bi[g] = b[i] - '0';
g++;
}
for(int i=1; i<=a.size(); i++) {
for(int j=1; j<=b.size(); j++) {
int k=ai[i]*bi[j],l=i+j-1;
do {
c[l]=c[l]+k%10,k=(k-k%10)/10+c[l]/10,c[l]=c[l]%10,l++;
} while(k>0);
if(ma<l) ma=l-1;
}
}
for(int i=ma; i>=1; i--) {
cout << c[i];
}
return 0;
}
by Dr_Ikun @ 2022-08-31 12:26:01
@IDNo1 AC了,谢谢大佬