80分,AC必关
查看原帖
80分,AC必关
1086541
18732010135dd楼主2024/9/1 23:03
#include<bits/stdc++.h>
using namespace std;
void mul(int a[],int b[],int c[]){
	for(int i=1;i<=b[0];i++){
		int x=0;
		for(int j=1;j<=a[0];j++){
			c[i+j-1]=c[i+j-1]+x+b[i]*a[j];
			x=c[i+j-1]/10;
			c[i+j-1]%=10;
		}
		c[i+a[0]]=x;
	}
	if(c[a[0]+b[0]]>0){
		c[0]=a[0]+b[0];
	}else{
		c[0]=a[0]+b[0]-1;
	}
}
void init(int a[]){
	string s;
	cin>>s;
	a[0]=s.length();
	for(int i=1;i<=a[0];i++){
		a[i]=s[a[0]-i]-'0';
	}
}
int main() {
	int a[10000]={0},b[10000]={0},c[10000]={0};
	init(a);
	init(b);
	mul(a,b,c);
	for(int i=c[0];i>0;i--){
		cout<<c[i];
	}
	return 0;
}
2024/9/1 23:03
加载中...