整数划分问题 母函数

 母函数求组合

#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;
}

 

posted @ 2017-10-03 11:49  Luke_Ye  阅读(201)  评论(0编辑  收藏  举报