30求助
查看原帖
30求助
1311900
Greeper楼主2025/2/8 09:33

10000000000进制高精乘

#include<bits/stdc++.h>
using namespace std;
const int N=1005;
const long long p=10000000000ll;
long long T,n,m,len(1),k;
long long ans[N];
void mul(int x)
{
	long long pre(0),tem;
	for(int i=1;i<=len;i++)
	{
		tem=ans[i]*x;
		ans[i]=tem%p+pre;
		pre=tem/p;
	}
	if(pre)ans[++len]=pre;
}
int main()
{
	cin>>n>>m;
	ans[1]=1;
	mul(n*n+3*n+2*m);
	for(int i=1;i<=n+1;i++)mul(i);
	for(int i=n-m+4;i<=n+2;i++)mul(i);
	printf("%lld",ans[len]);
	while(--len)printf("%010lld",ans[len]);
	return 0;
}
2025/2/8 09:33
加载中...