不知道哪错了,帮忙看一下,谢谢了!!!!
#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;
}