竞赛讨论区 > 高精度乘高精度
头像
第一让给你们了
发布于 2022-08-29 17:06 江苏
+ 关注

高精度乘高精度

模仿行列式如图

#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
//2333串 高精度乘高精度 
const int N = 1e6+10;
 int end;
int C[N];
void mul(vector<int> &A,vector<int> &B)
{

	for(int i=0;i<A.size();i++)
	{
		for(int j=0;j<B.size();j++)
		{
			C[i+j]+=A[i]*B[j];
			C[i+j+1]+=C[i+j]/10;
			C[i+j]%=10;
		
		}
	}
	int end=A.size()+B.size()+1;
	while(end>0&&C[end]==0)	end--;
	

}

int main()
{
   int end;
	int n;
	cin>>n;
	while(n--)
	{
		
		string a,b;
		vector<int> A,B;
		cin>>a>>b;
		for(int i=a.size()-1;i>=0;i--)	A.push_back(a[i]-'0');
		for(int i=b.size()-1;i>=0;i--)	B.push_back(b[i]-'0');
		
				
				end=a.size()+b.size()-2;
				
				
	mul(A,B);
	
		for(int i=end;i>=0;i--)	printf("%d",C[i]);
		printf("\n");
		for(int i=end;i>=0;i--)	C[i]=0;
	

	}
	
}


全部评论

(0) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐