#include<bits/stdc++.h>
using namespace std;
char a[1001],b[1001];
void my_Division(){//大整数乘法函数
cin>>a>>b;
int la=strlen(a),lb=strlen(b);
int a1[1001]={},b1[1001]={};
for(int i=0;i<la;i++){//转换反转
a1[la-1-i]=a[i]-48;
}
for(int i=0;i<lb;i++){
b1[lb-1-i]=b[i]-48;
}
int c1[2001]={},x=0;
for(int i=0;i<lb;i++){//第2个因子
for(int j=0;j<la;j++){//第1个因子
c1[i+j]=c1[i+j]+a1[j]*b1[i]+x;
x=c1[i+j]/10;
c1[i+j]=c1[i+j]%10;
}
c1[i+la]=x;//存储最后的进位
x=0; //更新进位
}
int lc=la+lb;//求积的长度
//去除前导0
int k;
for(k=lc-1;k>0;k--){
if(c1[k]!=0){
break;
}
}
for(int i=k;i>=0;i--){//逆序输出
cout<<c1[i];
}
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
my_Division();
cout<<endl;//空格
}
return 0;
}
宇宙航行(高精度)
最新推荐文章于 2024-08-04 22:43:44 发布