求大神看下这个高精度乘法错在哪里
查看原帖
求大神看下这个高精度乘法错在哪里
912603
yu18250787255楼主2023/1/6 00:25
#include <iostream>
#include <cstring>
using namespace std;

main()
{
   int A[200],B[200],C[200];
   memset(A,0,sizeof(A));
   memset(B,0,sizeof(B));
   memset(C,0,sizeof(C));
   string a,b;
   cin>>a>>b;
   int lena=a.length(),lenb=b.length();
   for(int i=0;i<=lena;i++)
   {
   	A[i]=a[lena-i]-'0';	
   }
   for(int i=0;i<=lenb;i++)
   {
   	B[i]=b[lenb-i]-'0';	
   } 	 
   int x;
   for(int i=0;i<lena;i++)
   {
   	x=0;
   	for(int j=0;j<lenb;j++)
   	{
   		C[i+j]+=A[i]*B[j]+x;
   		x=C[i+j]/10;
   		C[i+j]%=10;
   	}
   	C[i+lenb]=x;
   }
   int zong=lena+lenb-1;
   while(C[zong]==0 && zong>1)
   {
   	zong--;
   }
   for(int i=zong;i>=0;i--)
   {
		cout<<C[i];
   } 
   return 0;
}
2023/1/6 00:25
加载中...