📄 1466.cpp
字号:
#include <cstdio>
#include <string>
using namespace std;
const int Max=10001;
int a[21][Max];
int len[21];
bool num[Max];
void cal(){
int i,j,k;
len[1]=0;
a[2][1]=1;len[2]=1;
a[3][1]=2;a[3][2]=3;len[3]=2;
for(i=4;i<21;i++) {
memset(num,0,sizeof(num));
num[0]=true;
for(j=i-1;j>=1;j--)
for(k=0;k<=len[i-j];k++)
num[ j*(i-j)+a[i-j][k] ]=true;
k=0;
for(j=0;j<Max;j++)
if(num[j]==true)
a[i][k++]=j;
len[i]=k-1;
}
}
int main()
{
int i,j,n;
cal();
while( scanf("%d",&n)!=EOF )
{
printf("0");
for(i=1;i<=len[n];i++)
printf(" %d",a[n][i]);
printf("\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -