hdu 1028母函数经典

拆分数的母函数

code:

#include<iostream>
using namespace std;

int main()
{  int c1[130],c2[130];
   int i,j,n,k;
     while(cin>>n)
     {
     	for(i=0;i<=n;i++)
     	{
	     	c1[i]=1;			//1只有一种方案 
	     	c2[i]=0;			//子函数清空 
	     }
	     for(i=2;i<=n;i++)		//第n个数的结果 
	     {
     		  for(j=0;j<=n;j++)
     		   for(k=0;k+j<=n;k+=i)
     		   {
   		          c2[k+j]+=c1[j];	
   		       }
   		       for(j=0;j<=n;j++)
   		       {
       		   	c1[j]=c2[j];
       		   	c2[j]=0;
       		   }
     		    
     	}
       cout<<c1[n]<<endl;
	 }
	return 0;
}



你可能感兴趣的:(hdu 1028母函数经典)