∑[i=0,n]C(M,i)C(N-M,n-i)=C(N,n) 如何用排列组合证明

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 19:53:34

∑[i=0,n]C(M,i)C(N-M,n-i)=C(N,n) 如何用排列组合证明

利用(a+b)^N = (a+b)^M X (a+b)^(N-M),考察等式两边a^n X b^(N-n)的系数,即得等式.

一共有N个苹果,从里面任选n个,选法一共有C(N,n)
换一个方式考虑
把这N个苹果分成M和N-M两堆
从M这堆里面选i个,从N-M这堆里选n-i个
放在一起还是选了n个
i从0到n
选法∑[i=0,n]C(M,i)C(N-M,n-i)
两种考虑方式,得到的结果相同
所以∑[i=0,n]C(M,i)C(N-M,n-i)=C(N,n)...

全部展开

一共有N个苹果,从里面任选n个,选法一共有C(N,n)
换一个方式考虑
把这N个苹果分成M和N-M两堆
从M这堆里面选i个,从N-M这堆里选n-i个
放在一起还是选了n个
i从0到n
选法∑[i=0,n]C(M,i)C(N-M,n-i)
两种考虑方式,得到的结果相同
所以∑[i=0,n]C(M,i)C(N-M,n-i)=C(N,n)

收起

还是应用题这个好!
跟我想法一样,(*^__^*) 嘻嘻……

∑[i=0,n]C(M,i)C(N-M,n-i)=C(N,n) 如何用排列组合证明 组合数计算 i=0到n-1∑(c(i,m-1)*c(i,n-1)) C语言中“i=(m>n?n: c语言题中 (i & 1) (y += i*i*i) :(x += i*i);句话什么意思#include int main(void){unsigned int m,n,i,x,y;while (scanf(%u%u,&m,&n) = EOF){if (m > n){i = n;n = m;m = i;}x = y = 0;for (i = m ; i c语言 m*n阶矩阵转置#include#define N 30int convert(int array[N][N],int m,int n){ int t,i,j;if(m>n){ for(i=0;i c语言输入两个正整数m和n,求出[m,n]区间的所有素数#include int main (){int m,n,i,j,a[100],x=0;scanf(%d%d,&m,&n);for(i=m;i C 最大公约数和最小公倍数main(){int i,m,n,c,w;scanf(%d%d,&m,&n);for(i=m;i>=2;i--){if(m%2==0 && m%i==0){c=i;break;}}for(i=m;i c语言 集合a-b#include #include int cmp(const int *a,const int *b){return *a - *b;}int main(void){int n,m,i,j;int s[101];while (scanf(%d%d,&n,&m),m+n){for (i = 0; i < n; i++)scanf(%d,s + i);for (i = 0; i < m; i++){scanf(%d,s + n);for (j = 0; c语言 输入两个正整数m和n,求出[m,n]区间的所有素数#include void main ( ){int m,n,i,j,k;scanf(%d %d,&m,&n);for(i=m;i C语言编程问题,编写程序,输入两个正整数m和n,求∑(i*i+1/i) 求和符号下面 i=m ,上面n编写程序,输入两个正整数m和n,求∑(i*i+1/i) 求和符号下面 i=m 上面n 小弟是菜鸟,新生求指教~ c语言以下求m和n最小公倍数的各函数中不正确的是C).int f(int m,int n){int i,k;for(i=m;i=n;i-=n)if(i%m==0) k=i;return k;} n,u,c,e,i,m能组成什么英语单词 将字母n,m,e,c,i,a组成单词 用 m n c a i e 组成一个单词 根据字母n,m,e,c,i,a写单词 a,e,i,c,n,m能组成什么单词 i e c m n a组单词 c,a,n,e,m,i怎么拼