Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
169918 | jipm6575lllzich | 高精度乘法 | C++ | 通过 | 100 | 1 MS | 256 KB | 646 | 2024-08-20 20:11:06 |
#include <iostream> #include <string> using namespace std; string qw(string num1,string num2){ if(num1=="0"||num2=="0") return "0"; int n1=num1.size(); int n2=num2.size(); string s(n1+n2,'0'); for(int i=n1-1;i>=0;i--){ for(int j=n2-1;j>=0;j--){ int mul=(num1[i]-'0')*(num2[j]-'0'); int sum=mul+(s[i+j+1]-'0'); s[i+j+1]=(sum%10)+'0'; s[i+j]+=sum/10; } } if(s[0]=='0'){ s.erase(s.begin()); } return s; } int main(){ string a,b; cin>>a>>b; string s=qw(a,b); cout<<s<<endl; return 0; }