P1303 80分求帮助
  • 板块P1303 A*B Problem
  • 楼主hkdzyhk
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/21 15:13
  • 上次更新2024/4/21 16:54:31
查看原帖
P1303 80分求帮助
1061135
hkdzyhk楼主2024/4/21 15:13
#include<bits/stdc++.h>
using namespace std;
char a1[2005],b1[2005];
long long a[2005]={0},b[2005]={0},lena,lenb,c[2005]={0},lenc;
void read(){
	cin>>a1>>b1;
	lena=strlen(a1);
	lenb=strlen(b1);
	for(int i=lena;i>0;i--)a[i]=a1[lena-i]-'0';
	for(int i=lenb;i>0;i--) b[i]=b1[lenb-i]-'0';	
}
void print(){
	for(int i=lenc;i>=1;i--) cout<<c[i];
}
void mul(){
	lenc=lena+lenb;
	for(int i=1;i<=lena;i++){
		for(int j=1;j<=lenb;j++){
			c[i+j-1]+=a[i]*b[j];
			c[i+j]+=c[i+j-1]/10;
			c[i+j-1]%=10;
		}
	}
	while(c[lenc]==0 && lenc>1) lenc--;
}
int main(){
	read();
	mul();
	print();
}
2024/4/21 15:13
加载中...