Drunkyous @ 2019-07-17 23:24:37
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[2001],b[2001];
int m[2001],n[2001],p[4001],d,e,f,i,j,x;
memset(m,0,sizeof(m));
memset(n,0,sizeof(n));
memset(p,0,sizeof(p));
scanf("%s",a);
scanf("%s",b);
d=strlen(a);
e=strlen(b);
for(i=0;i<=d-1;i++)
m[d-i]=a[i]-48;
for(i=0;i<=e-1;i++)
n[e-i]=b[i]-48;
for(i=1;i<=d;i++)
{
x=0;
for(j=1;j<=e;j++)
{
p[i+j-1]=m[i]*n[j]+x+p[i+j-1];
x=p[i+j-1]/10;
p[i+j-1]%=10;
}
p[i+e]=x;
}
f=d+e;
if(p[f]==0&&f>1)
f--;
for(i=f;i>=1;i--)
cout<<p[i];
cout<<endl;
}
by 狄凡人 @ 2019-07-18 07:01:34
我怀疑是位数的问题,你把倒数第六行的if改成while(我怕他数据有前导0)
by Drunkyous @ 2019-07-18 07:10:39
@狄凡人 好的我试试
by Drunkyous @ 2019-07-18 07:11:16
@狄凡人 过了!!谢谢
by 霸炫吊炸天 @ 2019-07-18 07:33:41
a=input() b=input() print(int(a)*int(b)) 贴一下代码
by Drunkyous @ 2019-07-18 21:50:46
@霸炫吊炸天 自带高精