文章
121
粉丝
68
获赞
94
访问
20.3k
#include <bits/stdc++.h>
using namespace std;
const int LEN = 1000;
int a[LEN],b[LEN],c[LEN];
void clear(int a[]){
for(int i=0;i<LEN;i++){
a[i]=0;
}
}
void read(int a[],string s){
clear(a);
int j=0;
for(int i=s.size()-1;i>=0;i--){
a[j++]=s[i]-'0';
}
}
void mul(int a[],int b[],int c[]){
clear(c);
for(int i=0;i<LEN-1;i++){
for(int j=0;j<=i;j++){
c[i]+=a[j]*b[i-j];
}
if(c[i]>=10){
c[i+1]+=c[i]/10;
c[i]%=10;
}
}
}
void print(int a[]){
int flag=0;
for(int i=LEN-1;i>=0;i--){
if(a[i]==0&&flag==0)continue;
else if(a[i]!=0)flag=1;
cout<<a[i];
}
}
int main(){
int n;
string x,y;
while(cin>>n>>x>>y){
read(a,x);
read(b,y);
mul(a,b,c);
print(c);
}
}
大家都知道,低精度乘高精度的计算是非常简单的,我们只需要把...
登录后发布评论
暂无评论,来抢沙发