nbdog @ 2024-08-14 17:38:25
代码
求大佬在源代码上改
by damno @ 2024-08-15 16:00:58
来了 ........ 姗姗来迟...
#include<iostream>
#include<cstring>
using namespace std;
long long a[10005],b[10005],c[10005],i,j,t,x;
char a1[10005],b1[10005];
int main()
{
cin>>a1>>b1;
if(a1[0]=='0'||b1[0]==0) {cout<<0<<endl;return 0;}
long long lena=strlen(a1);
long long lenb=strlen(b1);
for(i=0,j=lena-1;i<=lena-1,j>=0;i++,j--)
{
a[i]=a1[j]-'0';
}
for(i=0,j=lenb-1;i<=lenb-1,j>=0;i++,j--)
{
b[i]=b1[j]-'0';
}
for(i=0;i<lena;i++)
{
for(j=0;j<lenb;j++)
{
c[i+j]+=a[i]*b[j];
}
}
for(i=0;i<=10000;i++)
{
if(c[i]>=10) c[i+1]+=c[i]/10,c[i]=c[i]%10;
}
i=10001;
while(c[i]==0) i--;
for(;i>=0;i--) cout<<c[i];
return 0;
}
by 3_145 @ 2024-08-18 15:39:41
正确代码
#include<bits/stdc++.h>
using namespace std;
char e[2010],d[2010];int a[2010],b[2000+10],c[4000+20],t,g;
int main()
{
int ans;//长度
cin>>e>>d;
t=strlen(e);
g=strlen(d);
for(int i=0;i<t;i++)
{
a[i]=e[t-i-1]-'0';
}
for(int i=0;i<g;i++)
{
b[i]=d[g-i-1]-'0';
}
for(int i=0;i<t;i++)
{
for(int j=0;j<g;j++)
{
c[i+j]+=a[i]*b[j];
}
}
ans=t+g;
for(int i=0;i<ans;i++)
{
c[i+1]+=c[i]/10;
c[i]=c[i]%10;
}
for(;ans>=2 && !c[ans-1];)
{
ans--;
}
for(int i=ans-1;i>=0;i--)
{
cout<<c[i];
}
return 0;
}
`