求助本地运行没问题交上去不行
查看原帖
求助本地运行没问题交上去不行
1276811
Rain3721楼主2024/11/6 09:04
#include<bits/stdc++.h>
using namespace std;
#define MAX 2000
string s1,s2;
int a[MAX],b[MAX],ans[MAX];
int checkmult(){
	for(int i=0;i<MAX;i++){
		if(ans[MAX-i-1]>9){
			ans[MAX-i-2]+=ans[MAX-i-1]/10;
			ans[MAX-i-1]%=10;
		}
	}
	return 0;
}
int input_a(string s){
	int l=s.size();
	for(int i=0;i<l;i++) a[MAX-i-1]=s[l-i-1]-'0';
	return 0;
}
int input_b(string s){
	int l=s.size();
	for(int i=0;i<l;i++) b[MAX-i-1]=s[l-i-1]-'0';
	return 0;
}
int mult(){
	int i,j;
	int m=s1.size();
	int n=s2.size();
	for(i=0;i<n;i++){
		for(j=0;j<m;j++){
			ans[MAX-i-j-1]+=b[MAX-1-i]*a[MAX-1-j];
		}
	}
	return 0; 
}
void print(){
	int j=0;
	for(j;j<MAX;j++) if(ans[j]>0) break;
	if(j==MAX) cout<<0;
	else for(int i=j;i<MAX;i++) cout<<ans[i];
}
int main(){
	getline(cin,s1);
	getline(cin,s2);
	input_a(s1);
	input_b(s2);
	for(int i=0;i<MAX;i++) ans[i]=0;
	mult();
	checkmult();
	print();
	return 0;
}
2024/11/6 09:04
加载中...