Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
106851 | 付明澄 | 高精度乘法 | C++ | 解答错误 | 36 | 0 MS | 284 KB | 524 | 2023-10-15 19:56:35 |
#include<bits/stdc++.h> using namespace std; int main() { string s1,s2; cin>>s1>>s2; int len1=s1.length(); int len2=s2.length(); int res[10001]; memset(res,0,sizeof(res)); for(int i=0;i<len1;i++) { for(int j=0;j<len2;j++) { res[i+j]+=(s1[i]-'0')*(s2[j]-'0'); } } if(res[0]>=10) { cout<<res[0]/10; } for(int i=len1+len2-1;i>0;i--) { if(res[i]>=10) { res[i-1]+=res[i]/10; res[i]%=10; } } for(int i=0;i<len1+len2-1;i++) { cout<<res[i]; } return 0; }