int a[1001],b[1001];
int v[201],n1[201],n2[201];
/*************************************************
Function: GenerateFunc(int N,int P)
Description: 生成函数系数计算
Input: int N : 可选的种类数,即相乘的因子个数
int P : 待求的最大指数
Output: void
Return: void
Others: 修改的全局变量 a[] b[]
只读的全局变量 v[] n1[] n2[]
*************************************************/
void GenerateFunc(int N,int P) {
memset(a,0,sizeof(a));
a[0]=1;
for(int i=0; i<N; i++) {
memset(b,0,sizeof(b));
for(int j=n1[i]; j<=n2[i]&&j*v[i]<=P; j++) {
for(int k=0; k+j*v[i]<=P; k++) {
b[k+j*v[i]]+=a[k];
}
}
memcpy(a,b,sizeof(b));
}
}