母函数


    #include  
    #include  
    #include  
    using namespace std;  
    const int MAX=50;  
    #define CLR(arr,val) memset(arr,val,sizeof(arr))  
    int n,m,value[MAX],temp[MAX];  
    int main()  
    {   cin>>m;  
        while(m--)  
        {   cin>>n;  
            fill(value,value+MAX,1);//value用来存储系数   
            CLR(temp,0);//temp用来保存每一次的情况  
            for(int i=2;i<=n;i++)                                                          
            {   for(int j=0;j<=n;j++)  
                    for(int k=0;k+j<=n;k+=i) //控制每次系数的变化和每个数出现的最大项数   
                        temp[k+j]+=value[j];    
                for(int j=0;j<=n;j++)  
                    value[j]=temp[j],temp[j]=0;  
            }  
            cout<

你可能感兴趣的:(母函数)