社区讨论

40分求解

P1303A*B Problem参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi6nkluw
此快照首次捕获于
2025/11/20 07:48
4 个月前
此快照最后确认于
2025/11/20 07:48
4 个月前
查看原帖
用了高精和没用一样…… #include #include #include using namespace std; int c[10000],d[10000]; char a[10000],b[10000]; int temp[10000],wancheng[10000]; int main() { // freopen("testdata.in","r",stdin); int i,j,head=0,lenc,tail=0,flag=1; cin>>a>>b; if(a[0]=='0'||b[0]=='0') { cout<<0<<endl; return 0; } for(i=strlen(a)-1;i>=0;i--) { if(a[i]!='-') c[head++]=a[i]-'0'; } head=0; for(i=strlen(b)-1;i>=0;i--) { if(b[i]!='-') d[head++]=b[i]-'0'; } if(a[0]=='-') { if(b[0]!='-') cout<<'-'; } if(a[0]!='-') { if(b[0]=='-') cout<<'-'; } for(i=0;i<max(strlen(a),strlen(b));i++) { for(j=0;j<min(strlen(a),strlen(b));j++) { temp[i+j]+=c[i]*d[j]; } } for(i=0;i<=max(strlen(a),strlen(b))*2;i++) { if(temp[i]>9) { wancheng[tail++]=temp[i]%10; temp[i]/=10; while(temp[i]) { temp[i+1]+=temp[i]%10; temp[i]/=10; } } else { wancheng[tail++]=temp[i]%10; } } for(i=max(strlen(a),strlen(b))*2;i>=0;i--) if(wancheng[i]==0&&flag==1) continue; else { flag=0; cout<<wancheng[i]; } return 0; }

回复

1 条回复,欢迎继续交流。

正在加载回复...