#include
int n,k,f[20][20]={0},a[20]={0},C;
int main() {
for(int i=0;i<=14;i++)
{ f[i][0]=1;
for(int j=1;j<=i;j++) f[i][j]=f[i-1][j-1]+f[i-1][j]; }
while(scanf("%d%d",&n,&k)==2) {
for(int i=1;i<=k;i++) scanf("%d",&a[i]);
C=1;
for(int i=1,j=n;i<=k;i++)
{
C*=f[j][a[i]];
j-=a[i];
}
printf("%d\n",C);
} return 0;
}
多项式(x1+x2+...+xk)n.
输入n和k(0 输出多项式(x1+x2+...+xk)n展开后的(x1)^n1*(x2)^n2...(xn)^nk这一项的系数。 利用二项式顶理,它的另一种表现方式就是杨辉三角。 计算机描述二项式定理:C[i,j]=C[i-1,j-1]+C[i-1,j]. 那么计算(x1)^n1*(x2)^n2...(xn)^nk就可以直接利用二项式定理。