高精乘

https://www.luogu.com.cn/problem/P2841

#include<bits/stdc++.h>
using namespace std;
char a[30000],b[30000];
int aa[30000],bb[30000],cc[30000];
int main()
{
	cin>>a>>b;
	int lena=strlen(a),lenb=strlen(b);
	for(int i=0;i<lena;i++) aa[lena-i]=a[i]-'0';
	for(int i=0;i<lenb;i++) bb[lenb-i]=b[i]-'0';
	for(int i=1;i<=lena;i++)
	for(int j=1;j<=lenb;j++)
	{
		cc[i+j-1]+=aa[i]*bb[j];
		if(cc[i+j-1]>9)
		{
			cc[i+j]+=cc[i+j-1]/10;
			cc[i+j-1]%=10;
		}
	}
	int lenc=lena+lenb;
	while(lenc>1&&cc[lenc]==0) lenc--;
	for(int i=lenc;i>=1;i--) cout<<cc[i];
	return 0;
 } ```
原文地址:https://www.cnblogs.com/qwq-/p/13545998.html