#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <stdio.h>
using namespace std;
const int N=1000;
int main()
{
string s1,s2;
int a[N],b[N],sum[N];
int l1,l2;
cin>>s1>>s2;
l1=s1.length();
l2=s2.length();
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(sum,0,sizeof(sum));
for(int i=0;i<l1;i++) //将字符串倒置并转换成数串
a[i]=s1[l1-i-1]-'0';
for(int i=0;i<l2;i++)
b[i]=s2[l2-i-1]-'0';
int start;
for(int i=0;i<l1;i++)
{
start=i; //start实现错位
for(int j=0;j<l2;j++)
{
sum[start++]+=a[i]*b[j];
}
}
for(int i=0;i<start;i++)
{
sum[i+1]+=sum[i]/10;
sum[i]=sum[i]%10;
}
if(sum[start]==0) start--;
for(int i=start;i>=0;i--)
printf("%d",sum[i]);
return 0;
}
C++ 两个高精度数相乘
最新推荐文章于 2024-02-04 15:17:17 发布

2642

被折叠的 条评论
为什么被折叠?



