- 取石子
高精度乘法
- 2025-7-17 13:50:50 @
#include<bits/stdc++.h>
using namespace std;
int a[2005];
int b[2005];
int c[4010];
int main(){
string s1,s2;
cin>>s1>>s2;
long long len1=s1.size();
long long len2=s2.size();
for(int i=len1-1;i>=0;i--){
a[i]=s1[len1-1-i]-'0';
}
for(int i=len2-1;i>=0;i--){
b[i]=s2[len2-1-i]-'0';
}
for(int i=0;i<len1;i++){
for(int j=0;j<len2;j++){
c[i+j]+=a[i]*b[j];
c[i+j+1]+=c[i+j]/10;
c[i+j]=c[i+j]%10;
}
}
long long len3=len1+len2;
while(c[len3-1]==0&&len3>1){
len3--;
}
for(int i=len3-1;i>=0;i--){
cout<<c[i];
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 116
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 56
- 已通过
- 9
- 上传者