40?
查看原帖
40?
1123686
bookvalley楼主2023/12/3 10:26

我咋错了?

#include<bits/stdc++.h>
using namespace std;
string s1,s2;
const int N=2010,M=10;
int a[N],b[N],ans[10000010];
int l1,l2;
int sum;
int flag;
bool check(int n,int m){
	return n+m;
}
int main()
{
	ios::sync_with_stdio(0);
	cin>>s1>>s2;
	l1=s1.length();
	l2=s2.length();
	for(int i=1;i<=l1;i++)a[i]=s1[l1-i]-'0';
	for(int i=1;i<=l2;i++)b[i]=s2[l2-i]-'0';
	sum=check(l1,l2);
	for(int i=1;i<=l1;i++){
		for(int j=1;j<=l2;j++){
			ans[i+j-1]+=a[i]*b[j];
			if(ans[i+j-1]>=M){
				ans[i+j]+=ans[i+j-1]/M;
				if(i+j-1==sum)sum++;
				ans[i+j-1]%=M;
			}
		}
	}
	for(int i=sum;i>=1;i--){
		if(flag==0&&ans[i]==0)continue;
		cout<<ans[i];
		flag++;
	}
	if(flag==0)cout<<0;
	return 0;
}
2023/12/3 10:26
加载中...