#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int now = 0;
int count = 1;
int last = 0;
int normal = 0;
for(int i = 2;i < n;i++)
{
now = now + i;
if(now > n)
{
normal = i - 1;
last = n-now+i+i-1;
break;
}
}
for(int i = 2;i < normal;i++)
{
count = count * i;
printf("%d ",i);
}
printf("%d\n",last);
count = count*last;
printf("%d",count);
return 0;
}
by _KaQqi @ 2019-03-09 11:47:35
```
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int now = 0;
int count = 1;
int last = 0;
int normal = 0;
for(int i = 2;i < n;i++)
{
now = now + i;
if(now > n)
{
normal = i - 1;
last = n-now+i+i-1;
break;
}
}
for(int i = 2;i < normal;i++)
{
count = count * i;
printf("%d ",i);
}
printf("%d\n",last);
count = count*last;
printf("%d",count);
return 0;
}
```
by _KaQqi @ 2019-03-09 11:48:23
可能只是过了样例,数据稍微奇怪一点就卡不过去了
by ViXpop @ 2019-03-09 12:14:23
因为您巨啊
by 洛天依_ @ 2019-03-09 12:16:22
@[_KaQqi](/user/68055)
你30的测试答案不对,你程序出来是7200,还可以更大234678得到8064
by sloth612 @ 2020-04-16 13:17:03