我的程序错了 这是高精度乘法 代码:
#include<iostream>
#include<math.h>
using namespace std;
string xxx(string sa,string sb)
{
int la=sa.size(),lb=sb.size(),lmax=la+lb-1,a[2001]={0},b[2001]={0},s[4002]={0};
string ss="";
for(int i=0;i<la;i++) a[i]=sa[la-i-1]-'0';
for(int i=0;i<lb;i++) b[i]=sb[lb-i-1]-'0';
for(int i=0;i<la;i++)
{
for(int j=0;j<lb;j++)
{
s[i+j]=a[i]*b[j];
}
}
for(int i=0;i<lmax;i++){s[i+1]+=s[i]/10;s[i]=s[i]%10;}
if(s[lmax]!=0) lmax++;
while(s[lmax-1]==0) lmax--;
for(int i=lmax-1;i>=0;i--)ss+=s[i]+'0';
if(lmax==0)ss="0";
return ss;
}
int main(){
string aa,bb;
cin>>aa>>bb;
cout<<xxx(aa,bb);
}