您的位置:首页 > 其它

母函数例题 可做模版 附注释

2014-07-23 16:15 316 查看
/*
求n有几种不同的和
例如:
4 = 4;
4 = 3 + 1;
4 = 2 + 2;
4 = 2 + 1 + 1;
4 = 1 + 1 + 1 + 1;
共5种
*/
#include <iostream>
using namespace std;
const int lmax=10000;
int c1[lmax+1],c2[lmax+1];
int main()
{
int n,i,j,k;
while (cin>>n)
{
for (i=0; i<=n; i++)//把质量从0到n的所有砝码都初始化为1.
{
c1[i]=1;
c2[i]=0;
}
for (i=2; i<=n; i++)//遍历第i个表达式
{
for (j=0; j<=n; j++)//这里j就是前面i個表達式累乘的表達式里第j个变量
for (k=0; k+j<=n; k+=i)//k表示的是第j个指数,所以k每次增i(因为第i个表达式的增量是i
{
c2[j+k]+=c1[j];
}
for (j=0; j<=n; j++)//把c2的值赋给c1,而把c2初始化为0,因为c2每次是从一个表达式中开始的
{
c1[j]=c2[j];
c2[j]=0;
}
}
cout<<c1
<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 母函数 HDOJ 杭电