首页 > 代码库 > 母函数模板
母函数模板
#include <stdio.h>
#define MAX 10000
int c1[MAX], c2[MAX];
// c1是保存各项质量砝码可以组合的数目
// c2是中间量,保存每一次的情况
// 每个n的种类无限
// (1 + x^1 + x^2 + ...+ x^n)(1 + x^2 + x^4 +....+x^n)(1 + x^3 +...+ x^n)....(1 + x^n)
int main()
{
int n;
while( scanf("%d", &n)!=EOF)
{
for(int i=0; i<=n; i++) //第一项全部至0
{
c1[i]=1; c2[i]=0;
}
for(int i=2; i<=n; i++)
{
for(int j=0; j<=n; j++)
for(int k=0; k+j<=n; k+=i)
c2[k+j] += c1[j]; //一定得是累加
for(int j=0; j<=n; j++) //结束一轮运算赋值
{
c1[j] = c2[j]; c2[j] = 0;
}
}
printf("%d\n", c1[n]);
}
return 0;
}
来自为知笔记(Wiz)
附件列表
母函数模板
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。