母函数
#include<stdio.h> #include<string.h> int main() { int n,m,i,j,k,s; int c1[130],c2[130]; while(scanf("%d",&n)!=EOF) { memset(c2,0,sizeof(c2)); memset(c1,0,sizeof(c1)); for(i=0;i<=n;i++) c1[i]=1; for(i=2;i<=n;i++) { for(j=0;j<=125;j++) for(k=0;k*i+j<=125&&k*i<=n;k++) c2[k*i+j]+=c1[j]; for(j=0;j<=125;j++) { c1[j]=c2[j]; c2[j]=0; } } printf("%d\n",c1[n]); } return 0; }