90分求助,悬关
  • 板块P1249 最大乘积
  • 楼主ARzy
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/18 15:51
  • 上次更新2024/7/18 16:31:41
查看原帖
90分求助,悬关
1007306
ARzy楼主2024/7/18 15:51

#10错了,求dalao调试

#include<bits/stdc++.h>
using namespace std;
int a[5000],b[1000];
int main()
{
	int n,i,j,r,z=0,y=1;
	cin>>n;//分解
	for(i=2;n>i;++i)
    {
    	b[++z]=i;
    	n-=i;
    	if(n==i)
    	{
    		--n;
    		++b[z];
		}
	}
	for(i=z;n;--i,--n) ++b[i];
	for(i=1;i<=z;++i) cout<<b[i]<<" ";
	cout<<endl;
	a[1]=1;//高精度
	for(i=1;i<=z;++i)
	{
		r=0;
		for(j=1;j<=y;++j)
		{
			a[j]*=b[i];
			a[j]+=r;
			r=a[j]/100000;
			a[j]%=100000;
		}
		if(r) a[++y]=r;
	}
	cout<<a[y];
	for(i=y-1;i;--i) printf("%05d",a[i]);
	return 0;
}
2024/7/18 15:51
加载中...