母函数大模版如何应用于具体问题解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计288个文字,预计阅读时间需要2分钟。
/**函数模板 + 形如(1+x^1+x^2+x^3+...+x^n)*(1+x^2+x^4+x^6+...+x^n)*...*(1+x^m+x^2m+x^3m+...+x^n)+
//母函数模板
//形如(1+x^1+x^2+x^3+....+x^n)*(1+x^2+x^4+x^6+....+x^n)*......
(1+x^m+x^2m+x^3m+....+x^n)#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++)
{
c1[i]=1;c2[i]=0;
}
for(i=0;i<=n;i++) c1[i]=1;
for(i=2;i<=n;i++)//一共有几个大括号(以第一个大括号为首,从与第二个大括号开始乘,
//一直往下乘,直到完全算完,只有一个大括号)
{
for(j=0;j<=n;j++)//第一个大括号中的所有元素
for(k=0;k+j<=n;k+=i)//第i个大括号中的所有元素
{c2[j+k]+=c1[j];}
for(j=0;j<=n;j++)//得到一个新的第一个大括号
{
c1[j]=c2[j];c2[j]=0;
}
}
cout<<c1[n]<<endl;
}
return 0;
}
本文共计288个文字,预计阅读时间需要2分钟。
/**函数模板 + 形如(1+x^1+x^2+x^3+...+x^n)*(1+x^2+x^4+x^6+...+x^n)*...*(1+x^m+x^2m+x^3m+...+x^n)+
//母函数模板
//形如(1+x^1+x^2+x^3+....+x^n)*(1+x^2+x^4+x^6+....+x^n)*......
(1+x^m+x^2m+x^3m+....+x^n)#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++)
{
c1[i]=1;c2[i]=0;
}
for(i=0;i<=n;i++) c1[i]=1;
for(i=2;i<=n;i++)//一共有几个大括号(以第一个大括号为首,从与第二个大括号开始乘,
//一直往下乘,直到完全算完,只有一个大括号)
{
for(j=0;j<=n;j++)//第一个大括号中的所有元素
for(k=0;k+j<=n;k+=i)//第i个大括号中的所有元素
{c2[j+k]+=c1[j];}
for(j=0;j<=n;j++)//得到一个新的第一个大括号
{
c1[j]=c2[j];c2[j]=0;
}
}
cout<<c1[n]<<endl;
}
return 0;
}

