Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
169222 B---何嘉轩 高精度乘法 C++ 运行出错 10 1490 MS 1256 KB 743 2024-08-20 15:47:25

Tests(3/30):


#include<bits/stdc++.h> using namespace std; char a[100000],b[2005]; int x[1005],y[10005],z[200000],o,t,k,i,j; bool sign=false; int main() { memset(x,0,sizeof(x)); memset(y,0,sizeof(y)); memset(z,0,sizeof(z)); cin>>a; cin>>b; k=strlen(a)+strlen(b); for(i=0;i<strlen(a);i++) { x[i+1]=a[strlen(a)-i-1]-48; } for(i=0;i<strlen(b);i++) { b[i+1]=b[strlen(b)-i-1]-48; } for(i=1;i<=strlen(a);i++) { o=0; for(j=1;j<=strlen(b);j++) { t=x[i]*y[j]; z[i+j-1]=t%10+o+z[i+j-1]; o=t/10; if(z[i+j-1]>=10) { o+=z[i+j-1]/10; z[i+j-1]%=10; } } z[i+strlen(b)]=o; } for(i=k;i>0;i--) { if(z[i]!=0)sign=true; if(sign||i==1)printf("%d",z[i]); } return 0; }


测评信息: