Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168330 | C班 郑筱橦 | 高精度乘法 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 724 | 2024-08-20 09:44:49 |
#include <iostream> #include <cstring> #include <cstdio> using namespace std; int main () { char a1[101], b[101]; int a[101],b[101],c[10001],lena,lenb,lenc,i,j,x; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); scanf("%s",a1); scanf("%s",b1); lena=strlen(a1); lenb=strlen(b1); for (i=0;i <= lena-1; i++) a[lena-i]=al[i]-48; for (i=0; i<= lenb-1; i++) b[lenb-i]=b1[i]-48; for (i=1; i <= lena; i++) { x=0; for (j=1; j<= lenb; j++) { c[i + j-1]=a[i]*b[j]+x+c[i+j-1]; x=c[i+j-1]/10; c[i+j-1]%=10; } c[i+lenb]=x; } lenc=lena+lenb; while(c[lenc] == 0 && lenc > 1) lenc--; for (i=lenc; i>=1; i-) cout << c[i]; cout << endl; return 0; }