母函数求组合
#include <iostream> using namespace std; int main() { int num[125],temp[125]; int i,j,k; for(i=0;i<=124;i++) { num[i]=1; temp[i]=0; } for(i=2;i<=120;i++) { for(j=0;j<=120;j++) { for(k=0;(k+j)<=120;k+=i) { temp[k+j]+=num[j]; } } for(k=0;k<=120;k++) { num[k]=temp[k]; temp[k]=0; } } int n; while(cin>>n) { cout<<num[n]<<endl; } return 0; }