Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
168610 A班陈旻霄 高精度乘法 C++ 解答错误 96 1 MS 412 KB 665 2024-08-20 11:27:25

Tests(29/30):


#include <bits/stdc++.h> using namespace std; struct big { int l,num[10000]; void read() { string s; cin>>s; l=s.size(); for(int i=0;i<l;i++) num[l-i]=s[i]-'0'; } void print() { for(int i=l;i>=1;i--) cout<<num[i]; } }; big operator*(big a,big b) { big c; c.l=a.l+b.l-1; for(int i=1;i<=a.l;i++) for(int j=1;j<=b.l;j++) c.num[i+j-1]+=a.num[i]*b.num[j]; for(int i=1;i<c.l;i++) { c.num[i+1]+=c.num[i]/10; c.num[i]%=10; } while(c.num[c.l]>=10) { c.num[c.l+1]+=c.num[c.l]/10; c.num[c.l]%=10; c.l++; } return c; } int main() { big a,b; a.read(),b.read(); big c=a*b; c.print(); return 0; }


测评信息: