#include<bits/stdc++.h>
using namespace std;
int main(){
char a[10001],b[10001];
int a1[10001]={0},b1[10001]={0},c1[100001]={0},x=0,lc;//大数组定义
cin>>a>>b;
int la=strlen(a),lb=strlen(b); //长度
for(int i=0;i<la;i++)
a1[la-i]=a[i]-48;//a变成数字a1
for(int i=0;i<lb;i++)
b1[lb-i]=b[i]-48;//b变成数字b1
for(int i=1;i<=lb;i++){
x=0;
for(int j=1;j<=la;j++){//高精度乘法标准
c1[i+j-1]=b1[i]*a1[j]+x+c1[i+j-1];
x=c1[i+j-1]/10;
c1[i+j-1]=c1[i+j-1]%10;
}
c1[i+la]=x;
}
lc=la+lb;
while(c1[lc]==0&&lc>1)
lc--;//去零
for(int i=lc;i>0;i--)
cout<<c1[i];//输出
}
高精度乘法c++代码
最新推荐文章于 2024-07-17 20:43:45 发布