求助(A*B 高精度)
  • 板块学术版
  • 楼主GBWANG7786
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/9/22 23:52
  • 上次更新2023/10/27 10:18:11
查看原帖
求助(A*B 高精度)
773388
GBWANG7786楼主2022/9/22 23:52

P1303 最后两个点WA 样例已过

#include <bits/stdc++.h>
using namespace std;

int a[50000001],b[50000001],c[50000001];
string A,B;
int len,lena,lenb;

int main(){
	cin >> A >> B;
	lena = A.length();
	lenb = B.length();
	
	for(int i = lena - 1;i >= 0;i --){
		a[lena - i] = A[i] - '0';
	} 
	for(int i = lenb - 1;i >= 0;i --){
		b[lenb - i] = B[i] - '0';
	} 
	for(int i = 1;i <= lenb;i ++){
		for(int j = 1;j <= lenb;j ++){
			c[i + j - 1] += a[i] * b[j];  
		}
	} 
	
	len = lena + lenb;
	
	for(int i = 1;i <= len;i ++){
		c[i + 1] += c[i] / 10;
		c[i] %= 10; 
	}
	
	for(;!c[len];) len --;
	for(int i = max(1,len);i >= 1;i --){
		cout << c[i];
	} 
	
	return 0; 
}
2022/9/22 23:52
加载中...