救!急!
查看原帖
救!急!
359485
best_lover楼主2021/2/1 20:30

不知道哪错了,帮忙看一下,谢谢了!!!!

#include<bits/stdc++.h>
using namespace std;
int n,a[1000001],b[10000005];
int main()
{
	cin>>n;
	a[1]=2;
	b[1]=1;
	n-=2;
	int i;
	for(i=1;n>=a[i]+1;i++)
	{
		a[i+1]=a[i]+1;
		n-=a[i+1];
	}
	int e=i;
	while(n!=0)
	{
		a[i]++;
		n--;
		i--;
	}
	for(i=1;i<=e;i++)
	{
		cout<<a[i]<<" ";
	}
	cout<<endl;
	int len=1;
	for(i=1;i<=e;i++)
	{
		for(int j=1;j<=len;j++)
		{
			b[j]*=a[i];
		}
		for(int j=1;j<=len;j++)
		{
			b[j+1]+=b[j]/10;
			b[j]%=10;
		}
		while(b[len])
		{
			b[len+1]+=b[len]/10;
			b[len]%=10;
			len++;
		}
	}
	for(int i=len-1;i>0;i--)
	{
		cout<<b[i];
	}
	return 0;
}
2021/2/1 20:30
加载中...