第10个测试点不通过,谢谢,辛苦了。
  • 板块P1249 最大乘积
  • 楼主mjxznu
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/12/15 22:55
  • 上次更新2023/10/24 07:35:17
查看原帖
第10个测试点不通过,谢谢,辛苦了。
274058
mjxznu楼主2022/12/15 22:55
using namespace std;
int a[1000];
int main()
{
	int n,i,j;
	int count=0;
	int m=0;
	cin>>n;
	for(i=2;m<n;i++) 
	{
		a[count++]=i;
		m+=i;
	}
	int loc=0;
	if(m-n==1)
	{
		for(int i=0;i<count;i++)
			a[i]=a[i+1];
		count--;
		a[count-1]+=1;
	}
	else
	{
		for(int i=0;i<count;i++)
			if(a[i]==m-n)
				loc=i;
		for(int i=loc;i<count;i++)
			a[i]=a[i+1];
		count--;
	}
	int ans[100001]={1,1};	
	int t=0;
	for(int j=0;j<count;j++)
	{

		cout<<a[j]<<" ";
	}
	cout<<endl;
	for(j=0;j<count;j++)
	{
		for(int i=1;i<=ans[0];i++)
			ans[i]*=a[j];
		for(int i=1;i<=ans[0];i++)
		{
			ans[i+1]+=ans[i]/10;
			ans[i]%=10;
		}
		if(ans[ans[0]+1]!=0) ans[0]++;
		while(ans[ans[0]]>=10)
		{
			
			ans[ans[0]+1]=ans[ans[0]]/10;
			ans[ans[0]]%=10;
			ans[0]++;
		}		
	}
	for(int i=ans[0];i>=1;i--)
	{
		cout<<ans[i];
	}
	cout<<endl;	
}

2022/12/15 22:55
加载中...