利用计算机实现排列组合公式,计算机算法基础 ——数学(排列组合函数)

一 排列

1.从n个元素中取r个元素排列的全体数目

Pnr=P(n,r)=n(n-1)(n-2)...(n-r+1)=n!/(n-r)!                  :例:n个球取r个放入r个不同盒子,每个盒子一个球,多少种放法

2. n个元素的全排列

Pnn=P(n,n)=n!

3.例:随机选n(n<365)个人,求其中至少有两人生日相同的概率。

n个人的生日的序列数:365n

n个人生日均不相同的概率:P(365,n)

故:1-P(365,n)/365n

4.圆排列

从n个元素中取r个元素沿一圆周排列

Qnr= Pnr/r  (取r个元素作排列的结果与圆排列的结果比较,每个排列重复了r次)

同理:Qnn= n!/n =(n-1)!

二 组合

1. Cnr :从n个元素中取r个元素排列而不考虑顺序;

如:n个球取r个放入r个盒子,r个盒子是相同的。

若在每种组合结果的基础对盒子排列,便得到n取r的排列,则:

Cnr r! = Pnr故  Cnr = Pnr/r! = n!/(n-r)!r!

2 分组

有a1,a2...a8八位成员,两两配对,分成4组,试求方案N

方法一:依次选择: a1选择同样有7种选择,余下6人中一人,选择同样有5种选择,余下4个,其中一个选择同样有3种可能; N=

你可能感兴趣的:(利用计算机实现排列组合公式)