zzh0806 @ 2024-06-09 17:10:34
#include <stdio.h>
#include <string.h>
int main()
{
char a[50001],b[50001];
int num_a[50001], num_b[50001];
int c[50001];
int length1,length2,length;
memset(a,'0',sizeof(a));
memset(b,'0',sizeof(b));
gets(a);
gets(b);
length1=strlen(a);
length2=strlen(b);
for(int i=1;i<=length1;i++)
{
num_a[i]=a[length1-i]-'0';
}
for(int i=1;i<=length2;i++){
num_b[i]=b[length2-i]-'0';
}
for(int i=1;i<=length1;i++)
{
for(int j=1;j<=length2;j++)
{
c[i+j-1]=c[i+j-1]+num_a[i]*num_b[j];
}
}
length=length1+length2;
for(int i=1;i<=length;i++)
{
if(c[i]>9)
{
c[i+1]=c[i+1]+c[i]/10;
c[i]=c[i]%10;
}
}
while (c[length]==0&&length>1)length--;
for(int i=length;i>=1;--i)
printf("%d",c[i]);
return 0;
}
by xk2013 @ 2024-06-09 17:19:09
@zzh0806 gets
在 C++14
中被弃用了,请使用 fgets
喵~(求关)