自己算都过了,提交就是20分下载数据后自己跑也过了,有没有大佬帮我看看
#include <cstdio>
int a[50001], b[50001], c[50010];
int main() {
int alen=0, blen=0; // 长度
char ch = getchar();
while(ch >= '0' && ch <='9') { // 快速读入两个数组
a[alen++] = ch-'0';
ch = getchar();
}
ch = getchar();
while(ch >= '0' && ch <='9') {
b[blen++] = ch-'0';
ch = getchar();
}
for (int i = alen-1; i>=0; i--) // 错位相乘
for (int j = blen-1; j>=0; j--)
c[i+j+1]+=a[i]*b[j];
for (int i = alen+blen-1; i>=1; i--) { // 计算进位
c[i-1]+=c[i]/10;
c[i]%=10;
}
int len = 0;
while (c[len]==0 && len<alen+blen) { // 抛去废0
len++;
}
if (len == alen+blen)
printf("0");
for (int i = len; i < alen+blen; i++) // 输出答案
printf("%d", c[i]);
return 0;
}