高精乘求调!
  • 板块学术版
  • 楼主jasonshen_
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/6/14 19:05
  • 上次更新2023/10/23 13:09:24
查看原帖
高精乘求调!
789654
jasonshen_楼主2023/6/14 19:05
#include<bits/stdc++.h>
using namespace std;
int main() {
	int n1,n2;
	string str;
	int a[2000]= {0};
	int b[2000]= {0};
	int ans[2000]= {0};
	string num1,num2;
	cin>>num1>>num2;
	n1=num1.size();
	n2=num2.size();

	if(n2>n1) {
		str=num1;
		num1=num2;
		num2=str;
		n1=num1.size();
		n2=num2.size();
	}
	for(int i=0; i<n1; i++) {
		a[n1-i-1] = num2[i]-48;
	}
	for(int i=0; i<n2; i++) {
		b[n2-i-1]=num2[i]-48;
	}
	for(int i=0; i<n1; i++) {
		for(int j=0; j<n2; j++) {
			ans[i+j]+=a[i]*b[j];
			ans[i+j+1]+=ans[i+j]/10;
			ans[i+j]%=10;
		}
	}
	int flag=0;
	for(int i=n1+n2-1; i>=0; i++) {
		if(ans[i]==0 && flag==0) continue;
		else flag=1;
		cout<<ans[i];
	}
	if(flag==0) cout<<0;
	return 0;
}

貌似re

2023/6/14 19:05
加载中...