高精度代码样例
2023-09-09 19:33:24
发布于:江苏
#include<iostream>
#include<cstring>
using namespace std;
void stoh(string s,int* a){
a[0]=s.size();
for(int i=1;i<=s[0];i++){
a[i]=s[a[0]-i]-'0';
}
}
void mul(int* a,int* b,int* c){
c[0]=a[0]+b[0]-1;
for(int i=1;i<=a[0];i++){
for(int j=1;j<=b[0];j++){
c[i+j-1]+=a[i]*b[j];
c[i+j]+=c[i+j-1]/10;
c[i+j-1]%=10;
}
}
if(c[c[0]+1]>0) c[0]++;
while(c[c[0]]==0&&c[0]>1) c[0]--;
}
void print(int* a){
for(int i=a[0];i>=1;i--){
cout<<a[i];
}
}
int main(){
int a[105]={},b[105]={},c[105]={};
string s1,s2;
cin>>s1>>s2;
stoh(s1,a);
stoh(s2,b);
mul(a,b,c);
print(c);
}
PS:我的个人博客出了,点击访问
这里空空如也
有帮助,赞一个