加法原理与乘法原理
两个基本的计数原理是我们常遇到:加法原理与乘法原理。
加法原理:如果完成第一项事务有x种执行途径,第二项有y种途径,那么完成两者之一共有x+y种途径。
乘法原理:如果完成一个任务可以分成两个阶段,第一阶段有x种结果,第二阶段有y种结果,则按指定顺序共有x*y种结果。
排列与组合
1.排列
不同的对象顺序安排就称为排列。对于n个物品,任选r个的排列数是:
P(n,r)=n*(n-1)*...*(n-r+1)=n!/(n-r)!
推广的情况如下:
在n个物品中,n1是第一种物品重复出现的次数,n2是第二种物品的重复次数,..., nr是第r种物品重复出现的次数,其中n1+n2+...+nr=n,
则对于给定的这n物品的全排列是n!/(n1!*n2!*....*nr!).
2. 组合
从n个物品不计顺序的取出r个数的组合数是:
C(n,r) = P(n,r)/r!=n!/(r!*(n-r)!)
加法原理是分类,乘法原理是分步。
公式
排列
从n个不同元素中取m(m≤n)m(m≤n)个不同的元素,按照一定的顺序排成一列,叫做从nn个不同元素取出的一个排列。
计算公式:
特殊情况:m = n 称为全排列
案例:
由1、2、3、4、5可以组成多少个没有重复的数字,并且大于21300的正整数?
思路1:
满足题意的数可以分成三类:
万位3,4,5的有
个。
万位2,千位3,4,5的有
个。
万位2,千位1的有
个。
由加法原理:
思路2
由1,2,3,4,5组成的没有重复数位的五位数共有多少个?,其中只有万位数字为1的数不大于21300,这样的数有多少个?,故用排除法
案例:
从n(n>=6)名乒乓球选手中选拔出3对选手准备参加双打比赛,共有多少种不同分法?
思路
从n名选手中选出6名选手有
种方法,将这6名选手分成3不同的组,每组2名的分法就是多组组合,但是因为三对选手不计顺序,故所求的方法数应为:
关于此类问题的程序设计,上篇文章已经详细代码,直接套用即可。