http://acm.hdu.edu.cn/showproblem.php?pid=1398
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
int main()
{
int n,i,k,j;
while(scanf("%d",&n)==1)
{
int temp[121],outc[121];
for(i=0;i<121;i++)
{
temp[i]=0;
outc[i]=1;
}
for(i=2;i<=n;i++)
{
for(j=0;j<=n;j++)
{
for(k=0;k+j<=n;k+=i)
{
temp[k+j]+= outc[j];
}
}
for(j=0;j<=n;j++)
{
outc[j]=temp[j];
temp[j]=0;
}
}
printf("%d/n",outc[n]);
}
}