您的位置:首页 > 其它

母函数模版

2012-05-08 20:49 204 查看
/*

1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法

*/

#include <string.h>

#include <stdio.h>

#define N 32767

int c1
,c2
;

void Mu()

{

int i,j,k;

//模拟手工展开G(x)=(1+x+x^2+,,,,,)(1+x^2+x^4+...)(1+x^3+x^6+...)

// x^n的系数就是所求的总数

for(i=0;i<=N;i++)

{

c1[i]=1;

c2[i]=0;

}

for(i=2;i<=3;i++)

{

for(j=0;j<=N;j++)

{

for(k=0;k+j<=N;k=k+i)

{

c2[j+k]+=c1[j];

}

}

for(j=0;j<=N;j++)

{

c1[j]=c2[j];

c2[j]=0;

}

}

}

int main()

{

int n;

Mu();

while(scanf("%d",&n)!=EOF)

{

printf("%d\n",c1
);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: