Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
169898 | C班-杨渔 | 高精度乘法 | C++ | 通过 | 100 | 1 MS | 264 KB | 683 | 2024-08-20 19:50:09 |
#include <iostream> #include <cstring> using namespace std; int a[5003],b[5003],c[5003]; int lena,lenb,lenc; string s; // void init() { cin>>s; lena=s.size(); for (int i=s.size()-1,j=1;i>=0;--i,++j) a[j]=s[i]-'0'; cin>>s; lenb=s.size(); for (int i=s.size()-1,j=1;i>=0;--i,++j) b[j]=s[i]-'0'; } // void solve() { lenc=lena+lenb; for (int i=1;i<=lena;++i) { for (int j=1;j<=lenb;++j) { c[i+j-1]+=a[i]*b[j]; c[i+j]+=c[i+j-1]/10; c[i+j-1]%=10; } } } // void outit() { while (c[lenc]==0 && lenc>1) --lenc; for (int i=lenc;i>=1;--i) printf("%d",c[i]); } int main() { init(); solve(); outit(); return 0; }