提交时间:2024-03-04 21:30:12
运行 ID: 135291
#include<iostream> #include<cstdio> using namespace std; const int NR=210; int cnt=0,a[NR]; void func(int x) { //cout<<x<<endl; int i,j; for(i=2;x>i;i++) { //cout<<i<<" "; a[++cnt]=i; x-=i; } //cout<<endl; a[cnt]+=x; //for(i=1;i<=cnt;i++) cout<<a[i]<<" "; while(a[cnt]-a[1]-cnt*2+1>=0) { for(j=1;j<=cnt-1;j++) a[j]++; a[cnt]-=(cnt-1); } i=2; while(a[cnt]-a[i]-(cnt-i+1)*2+1>=0) { for(j=i;j<=cnt-1;j++) a[j]++; a[cnt]-=(cnt-i); } //for(i=1;i<=cnt;i++) cout<<a[i]<<" "; //cout<<cnt<<endl; return; } int main() { int n,i; long long ans=1; cin>>n; func(n); //cout<<cnt<<endl; //for(i=1;i<=cnt;i++) cout<<a[i]<<"###"; for(i=1;i<=cnt;i++) ans=1ll*ans*a[i]; cout<<ans<<endl; return 0; }