母函数:
程序:
#include<stdio.h>
#include<string.h>
int a[130],b[130],n;
void gf()
{
int i,j,k;
for(i=2;i<=n;i++)
{
for(j=0;j<=n;j++)
{
for(k=0;k+j<=n;k+=i)
{
a[j+k]+=b[j];
}
}
for(j=0;j<=n;j++)
{
b[j]=a[j];
a[j]=0;
}
}
}
int main()
{
int i;
while(scanf("%d",&n)!=EOF)
{
memset(b,0,sizeof(b));
for(i=0;i<=n;i++)
{
a[i]=0;
b[i]=1;
}
gf();
printf("%d\n",b[n]);
}
return 0;
}