求助
  • 板块P1303 A*B Problem
  • 楼主lyc0613
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/17 20:25
  • 上次更新2023/11/3 09:15:39
查看原帖
求助
748287
lyc0613楼主2023/7/17 20:25
#include <iostream>
#include <cstring>
using namespace std;
const int MAXN = 2e3+10;
int a[MAXN],b[MAXN],ans[MAXN*2],len1,len2,cnt;
char num1[MAXN],num2[MAXN];
int main(){
	cin>>num1>>num2;
	len1 = strlen(num1),len2 = strlen(num2),cnt = len1+len2;
	for(int i = len1-1,j = 1;i >= 0;i--,j++) a[j] = num1[i] - '0';
	for(int i = len2-1,j = 1;i >= 0;i--,j++) b[j] = num2[i] - '0';
	for(int i = 1;i <= len1;i++)
		for(int j = 1;j <= len2;j++) ans[i+j-1] += a[i]*b[j];
	for(int i = 1;i <= len1+len2;i++){
		ans[i+1] += ans[i]/10;
		ans[i] %= 10;
	}
	while(!ans[cnt]) cnt--;
	for(int i = cnt;i >= 1;i--) cout<<ans[i];
	return 0;
}

不知为何,第一个点WA(输出对了

2023/7/17 20:25
加载中...