杭電1028 整數劃分問題 母函式
c1[3] = 5 說明 x 的三次方的係數為五 說明 3 可以有5 中劃分方法
#include <iostream>
using namespace std;
int c1[130], c2[130];
int main()
{
int n, i, j;
while(cin>>n)
{
for(i = 0; i <= n; i++)
{
c1[i] = 1;
c2[i] = 0;
}
for(i = 2; i <= n; i++)
{
for(j = 0 ; j <= n; j++)
for(int k = 0;k+j<=n;k = 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;
}