求助!!!
查看原帖
求助!!!
304722
HarryPotterJames楼主2021/8/11 21:08

为啥当一个数是0,另一个数是n位数时,就会有n个0?

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
const int MAXN=5005;
int A[MAXN],B[MAXN],C[MAXN],Ans[MAXN],Len_A,Len_B,Len_Ans;
void Read(int *A,int &Len)
{
	string cur;
	cin>>cur;
	Len=cur.length();
	for(int i=0;i<Len;i++)A[i]=cur[i]-48;
	reverse(A,A+Len);
}
int main()
{
	Read(A,Len_A);
	Read(B,Len_B);
	Len_Ans=Len_A+Len_B-1;
	for(int i=0;i<Len_A;i++)
		for(int j=0;j<Len_B;j++)
			Ans[i+j]+=A[i]*B[j];
	for(int i=0;i<Len_Ans;i++)
		if(Ans[i]>9)
			Ans[i+1]+=Ans[i]/10,Ans[i]%=10;
	while(Ans[Len_Ans])Len_Ans++;
	for(int i=Len_Ans-1;i>=0;i--)
		cout<<Ans[i];
	return 0;
}

2021/8/11 21:08
加载中...