当前位置:首页 » 操作系统 » 组合m选n算法

组合m选n算法

发布时间: 2022-05-06 23:22:12

㈠ 数n个数,m个数为一组,有多少个不同的组合方式

典型的排列组合问题。
考虑m个数排列次序不同算一种的,叫排列。
从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号 p(n,m)表示。 p(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!(规定0!=1)
不考虑m个数排列次序的,叫组合。
组合数公式是指从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做n个不同元素中取出m个元素的组合数。用符号c(m,n) 表示。c(m,n)=p(m,n)/n!
注:n!是一种计算方法,叫阶乘。以3!为例,3!=3*2*1。特别的,当n=0时,0!=1。

㈡ m个数,得到各种组合,每种组合数大于1,有什么好算法

向左转|向右转
其中:m≥n
组合的公式,即在m个数中选出n个数进行组合,组合不分前后顺序,而排列就不同,用A表示。
题目说:每种组合数大于1
则,n>1
公式中:!(感叹号)表示阶乘
【举例:5!=5*4*3*2*1】

㈢ 从M个数中取N个数的组合的计算公式是什么

m!/(n!*(m-n)!)

㈣ 不用递归编写函数计算从m选n的组合数

不用递归就用循环。从m选n的组合数为((m-n+1)/1)((m-n+2)/2)...(m/n),可以保存p,每次都让p乘(m-n+i)/i,i从1循环到n就得到了结果。注意((m-n+1)/1)...((m-n+i)/i)是从m-n+i选i的组合数,是一个整数,因此我们只需要用整形变量存储p,且得到的是精确值。

以下是样例C++程序:

unsignedcomb(unsignedm,unsignedn)
{
unsignedp=1;
for(unsignedi=1,j=m-n+1;i<=n;++i,++j){
p*=j;
p/=i;
}
returnp;
}

㈤ 从m个数中选n个数,有多少种组合

#include <stdio.h>

#include <stdlib.h>

long int fac(int x) //定义阶乘函数

{

int i;

long int s = 1;

for(i=1;i<=x;i++)

s *= i;

return s;

}

int main( ) //主函数

{

int m, n;

printf("输入m和n(m≤10,n≤m): ");

scanf("%d %d",&m, &n);

printf("C(m,n)=%ld ",fac(m)/(fac(m-n)*fac(n)));

system("pause");

return 0;

}

(5)组合m选n算法扩展阅读:

C语言求排列组合结果总数

int sumzuhe(int N, int K)

{

if (K == 0)

return 1;

if (N == K)

return 1;

return sumzuhe(N - 1, K - 1) + sumzuhe(N - 1, K);

}

㈥ 组合计算公式是什么

组合计算公式:c(n,m)=c(n-1,m-1)+c(n-1,m)。

等式左边表示从n个元素中选取m个元素,而等式右边表示这一个过程的另一种实现方法:任意选择n中的某个备选元素为特殊元素,从n中选m个元素可以由此特殊元素的被包含与否分成两类情况,即m个被选择元素包含了特殊元素和m个被选择元素不包含该特殊元素。

前者相当于从n-1个元素中选出m-1个元素的组合,即c(n-1,m-1);后者相当于从n-1个元素中选出m个元素的组合,即c(n-1,m)。

c(n,0)+c(n,1)+c(n,2)+……+c(n,n)=2的n次方。

其他排列与组合公式介绍:

从n个元素中取出r个元素的循环排列数=p(n,r)/r=n!/r(n-r),n个元素被分成k类,每类的个数分别是n1,n2,……nk这n个元素的全排列数为n!/(n1!*n2!*……*nk!)。

而k类元素来说,每类的个数无限,从中取出m个元素的组合数为c(m+k-1,m),排列(Pnm(n为下标,m为上标))。

Pnm=n×(n-1)……(n-m+1);Pnm=n!/(n-m)!(注:!是阶乘符号);Pnn(两个n分别为上标和下标)=n!;0!=1;Pn1(n为下标1为上标)=n。

组合(Cnm(n为下标,m为上标)),Cnm=Pnm/Pmm;Cnm=n!/m!(n-m)!;Cnn(两个n分别为上标和下标)=1;Cn1(n为下标1为上标)=n;Cnm=Cnn-m。

㈦ 排列组合的公式C(m,n),A(m,n)的公式是什么怎么计算

a(m,n)=c(m,n)*a(n,n)
a(m,n)是从m个不同元素中选n个元素的排列数(区分元素排列先后顺序)
c(m,n)是从m个不同元素中选n个元素的组合数(不区分元素排列先后顺序)
a(n,n)是n个元素全排列数(区分元素排列先后顺序)。

㈧ M个数任选N个数(N<M)这样的公式是什么

你要找的是排列组合公式吧?找到了,还有例题,慢慢看,别心急。

1.加法原理和乘法原理
两个原理是理解排列与组合的概念,推导排列数及组合数公式,分析和解决排列与组合的应用问题的基本原则和依据;完成一件事共有多少种不同方法,这是两个原理所要回答的共同问题。而两者的区别在于完成一件事可分几类办法和需要分几个步骤。
例1.书架上放有3本不同的数学书,5本不同的语文书,6本不同的英语书。
(1)若从这些书中任取一本,有多少种不同的取法?
(2)若从这些书中取数学书、语文书、英语书各一本,有多少种不同的取法?
(3)若从这些书中取不同的科目的书两本,有多少种不同的取法。
解:(1)由于从书架上任取一本书,就可以完成这件事,故应分类,由于有3种书,则分为3类然后依据加法原理,得到的取法种数是:3+5+6=14种。
(2)由于从书架上任取数学书、语文书、英语书各1本,需要分成3个步骤完成,据乘法原理,得到不同的取法种数是:3×5×6=90(种)。
(3)由于从书架上任取不同科目的书两本,可以有3类情况(数语各1本,数英各1本,语英各1本)而在每一类情况中又需分2个步骤才能完成。故应依据加法与乘法两个原理计算出共得到的不同的取法种数是:3×5+3×6+5×6=63(种)。
例2.已知两个集合A={1,2,3},B={a,b,c,d,e},从A到B建立映射,问可建立多少个不同的映射?
分析:首先应明确本题中的“这件事是指映射,何谓映射?即对A中的每一个元素,在B中都有唯一的元素与之对应。”
因A中有3个元素,则必须将这3个元素都在B中找到家,这件事才完成。因此,应分3个步骤,当这三个步骤全进行完,一个映射就被建立了,据乘法原理,共可建立不同的映射数目为:5×5×5=53(种)。
2.排列数与组合数的两个公式
排列数与组合数公式各有两种形式,一是连乘积的形式,这种形式主要用于计算;二是阶乘的形式,这种形式主要用于化简与证明。
连乘积的形式 阶乘形式
Anm=n(n-1)(n-2)……(n-m+1) =
Cnm=

例3.求证:Anm+mAnm-1=An+1m

证明:左边=

∴ 等式成立。

评述:这是一个排列数等式的证明问题,选用阶乘之商的形式,并利用阶乘的性质:n!(n+1)=(n+1)!可使变形过程得以简化。
例4.解方程.
解:原方程可化为:
解得x=3。

评述:解由排列数与组合数形式给出的方程时,在脱掉排列数与组合数的符号时,要注意把排列数与组合数定义中的取出元素与被取元素之间的关系以及它们都属自然数的这重要限定写在脱掉符号之前。
3.排列与组合的应用题
历届高考数学试题中,排列与组合部分的试题主要是应用问题。一般都附有某些限制条件;或是限定元素的选择,或是限定元素的位置,这些应用问题的内容和情景是多种多样的,而解决它们的方法还是有规律可循的。常用的方法有:一般方法和特殊方法两种。
一般方法有:直接法和间接法。
(1)在直接法中又分为两类,若问题可分为互斥各类,据加法原理,可用分类法;若问题考虑先后次序,据乘法原理,可用占位法。
(2)间接法一般用于当问题的反面简单明了,据A∪=I且A∩ = 的原理,采用排除的方法来获得问题的解决。
特殊方法:
(1)特元特位:优先考虑有特殊要求的元素或位置后,再去考虑其它元素或位置。
(2)捆绑法:某些元素必须在一起的排列,用“捆绑法”,紧密结合粘成小组,组内外分别排列。
(3)插空法:某些元素必须不在一起的分离排列用“插空法”,不需分离的站好实位,在空位上进行排列。
(4)其它方法。
例5.7人排成一行,分别求出符合下列要求的不同排法的种数。
(1)甲排中间; (2)甲不排两端;(3)甲,乙相邻;
(4)甲在乙的左边(不要求相邻); (5)甲,乙,丙连排;
(6)甲,乙,丙两两不相邻。
解:(1)甲排中间属“特元特位”,优先安置,只有一种站法,其余6人任意排列,故共有:1×=720种不同排法。
(2)甲不排两端,亦属于“特元特位”问题,优先安置甲在中间五个位置上任何一个位置则有种,其余6人可任意排列有 种,故共有 · =3600种不同排法。
(3)甲、乙相邻,属于“捆绑法”,将甲、乙合为一个“元素”,连同其余5人共6个元素任意排列,再由甲、乙组内排列,故共有 ·=1400种不同的排法。
(4)甲在乙的左边。考虑在7人排成一行形成的所有排列 中:“甲在乙左边”与“甲在乙右边”的排法是一一对应的,在不要求相邻时,各占所有排列的一半,故甲在乙的左边的不同排法共有 =2520种。
(5)甲、乙、丙连排,亦属于某些元素必须在一起的排列,利用“捆绑法”,先将甲、乙、丙合为一个“元素”,连同其余4人共5个“元素”任意排列,现由甲、乙、丙交换位置,故共有· =720种不同排法。
(6)甲、乙、丙两两不相邻,属于某些元素必须不在一起的分离排列,用“插空法”,先将甲、乙、丙外的4人排成一行,形成左、右及每两人之间的五个“空”。再将甲、乙、丙插入其中的三个“空”,故共有·=1440种不同的排法。
例6.用0,1,2,3,4,5这六个数字组成无重复数字的五位数,分别求出下列各类数的个数:
(1)奇数;(2)5的倍数;(3)比20300大的数;(4)不含数字0,且1,2不相邻的数。
解:(1)奇数:要得到一个5位数的奇数,分成3步,第一步考虑个位必须是奇数,从1,3,5中选出一个数排列个位的位置上有 种;第二步考虑首位不能是0,从余下的不是0的4个数字中任选一个排在首位上有种;第三步:从余下的4个数字中任选3个排在中间的3个数的位置上,由乘法原理共有 =388(个)。
(2)5的倍数:按0作不作个位来分类
第一类:0作个位,则有=120。
第二类:0不作个位即5作个位,则 =96。
则共有这样的数为: + =216(个)。
(3)比20300大的数的五位数可分为三类:
第一类:3xxxx, 4xxxx, 5xxxx有3个;
第二类:21xxx, 23xxx, 24xxx, 25xxx, 的4个;
第三类:203xx, 204xx, 205xx, 有3个,
因此,比20300大的五位数共有:3+4 +3 =474(个)。
(4)不含数字0且1,2不相邻的数:分两步完成,第一步将3,4,5三个数字排成一行;第二步将1和2插入四个“空”中的两个位置,故共有=72个不含数字0,且1和2不相邻的五位数。
例7.直线与圆相离,直线上六点A1,A2,A3,A4,A5,A6,圆上四点B1,B2,B3,B4,任两点连成直线,问所得直线最多几条?最少几条?
解:所得直线最多时,即为任意三点都不共线可分为三类:
第一类为已知直线上与圆上各取一点连线的直线条数为=24;
第二类为圆上任取两点所得的直线条数为=6;
第三类为已知直线为1条,则直线最多的条数为N1= ++1=31(条)。
所得直线最少时,即重合的直线最多,用排除法减去重合的字数较为方便,而重合的直线即是由圆上取两点连成的直线,排除重复,便是直线最少条数:N2=N1-2=31-12=19(条)。

解排列组合问题的策略

要正确解答排列组合问题,第一要认真审题,弄清楚是排列问题还是组合问题、还是排列与组合混合问题;第二要抓住问题的本质特征,采用合理恰当的方法来处理,做到不重不漏;第三要计算正确。下面将通过对若干例题的分析,探讨解答排列组合问题的一些常见策略,供大家参考。
一、解含有特殊元素、特殊位置的题——采用特殊优先安排的策略
对于带有特殊元素的排列问题,一般应先考虑特殊元素、特殊位置,再考虑其他元素与其他位置,也就是解题过程中的一种主元思想。
例1 用0,2,3,4,5这五个数字,组成没有重复数字的三位数,其中偶数共有( )
A.24个 B.30个 C.40个 D.60个
解:因组成的三位数为偶数,末尾的数字必须是偶数,又0不能排在首位,故0是其中的“特殊”元素,应优先安排,按0排在末尾和0不排在末尾分为两类:①当0排在末尾时,有 个;②当0不排在末尾时,三位偶数有 个,据加法原理,其中偶数共有 + =30个,选B。
若含有两个或两个以上的特殊位置或特殊元素,则应使用集合的思想来考虑。这里仅举以下几例:
(1)无关型(两个特殊位置上分别可取的元素所组成的集合的交是空集)
例2 用0,1,2,3,4,5六个数字可组成多少个被10整除且数字不同的六位数?
解:由题意可知,两个特殊位置在首位和末位,特殊元素是“0,首位可取元素的集合A={1,2,3,4,5},末位可取元素的集合B={0},A∩B= 。如图1所示。

末位上有 种排法,首位上有 种不同排法,其余位置有 种不同排法。所以,组成的符合题意的六位数是 =120(个)。

说明:这个类型的题目,两个特殊位置上所取的元素是无关的。先分别求出两个特殊位置上的排列数(不需考虑顺序),再求出其余位置上的排列数,最后利用乘法原理,问题即可得到解决。
(2)包合型(两个特殊位置上分别可取的元素所组成集合具有包合关系)
例3 用0,1,2,3,4,5六个数字可组成多少个被5整除且数字不同的六位奇数?
解:由题意可知,首位、末位是两个特殊位置,“0”是特殊元素,首位可取元素的集合
A={1,2,3,4,5},末位可取元素的集合B={5},B A,用图2表示。

末位上只能取5,有 种取法,首位上虽然有五个元素可取但元素5已经排在末位了,故只有 种不同取法,其余四个位置上有 种不同排法,所以组成的符合题意的六位数有 =96(个)。
说明:这个类型的题目,两个特殊位置上所取的元素组成的集合具有包含关系,先求被包合的集合中的元素在特殊位置上的排列数,再求另一个位置上的排列数,次求其它位置上排列数,最后利用乘法原理,问题就可解决。
(3)影响型(两个特殊位置上可取的元素既有相同的,又有不同的。这类题型在高考中比较常见。)
例4 用1,2,3,4,5这五个数字,可以组成比20000大并且百位数字不是3的没有重复数字的五位数有多少个?
解:由题意可知,首位和百位是两个特殊位置,“3”是特殊元素。首位上可取元素的集合 A={2,3,4,5},百位上可取元素的集合B={1,2,4,5}。用图3表示。

从图中可以看出,影响型可分成无关型和包含型。①首先考虑首位是3的五位数共有: 个;②再考虑首位上不是3的五位数,由于要比20000大,∴首位上应该是2、4、5中的任一个, 种选择;其次3应排在千位、十位与个位三个位置中的某一个上, 种选择,最后还有三个数、三个位置,有 种排法,于是首位上不是3的大于20000的五位数共有个 。
综上①②,知满足题设条件的五位数共有: + =78个。
二、解含有约束条件的排列组合问题一――采用合理分类与准确分步的策略
解含有约束条件的排列组合问题,应按元素的性质进行分类,按事件发生的连贯过程分步,做到分类标准明确、分步层次清楚,不重不漏。
例5 平面上4条平行直线与另外5条平行直线互相垂直,则它们构成的矩形共有________个。
简析:按构成矩形的过程可分为如下两步:第一步.先在4条平行线中任取两条,有 种取法;第二步再在5条平行线中任取两条,有 种取法。这样取出的四条直线构成一个矩形,据乘法原理,构成的矩形共有· =60个。
例6 在正方体的8个顶点,12条棱的中点,6个面的中心及正方体的中心共27个点中,共线的三点组的个数是多少?
解:依题意,共线的三点组可分为三类:两端点皆为顶点的共线三点组共有 =28(个);两端点皆为面的中心的共线三点组共有 =3(个);两端点皆为各棱中点的共线三点组共有 =18(个)。
所以总共有28+3+18=49个。
例7 某种产品有4只次品和6只正品(每只产品均可区分)。每次取一只测试,直到4只次品全部测出为止。求第4只次品在第五次被发现的不同情形有多少种?
解:先考虑第五次测试的产品有4种情况,在前四次测试中包含其余的3只次品和1只正品,它们排列的方法数是6 。依据乘法原理得所求的不同情形有4×6 =576种。
有些排列组合问题元素多,取出的情况也有多种,对于这类问题常用的处理方法是:可按结果要求,分成不相容的几类情况分别计算,最后计算总和。
例8 由数字0,1,2,3,4,5组成没有重复的6位数,其中个位数字小于十位数字的共有 ( )
A、210个 B、300个 C、464个 D、600个
分析:按题意个位数字只可能是0,1,2,3,4共5种情况,符合题的分别有 , , ,, 个。
合并总计,共有 + + + + =300(个)。
故选B。
说明:此题也可用定序问题缩位法求解,先考虑所有6位数: 个,因个位数字须小于个位数字,故所求6位数有( )/ =300(个)。
处理此类问题应做到不重不漏,即每两类的交集为空集,所有类的并集为合集,因此要求合理分类。
例9 已知集合A和集合B各含12个元素,A∩B含有4个元素,试求同时满足下面的两个条件的集合C的个数:
(1)C A∪B,且C中含有3个元素;
(2)C∩A≠ ( 表示空集)。
分析:由题意知,属于集合B而不属于集合A元素个数为12-4=8,因此满足条件(1)、(2)的集合C可分为三类:
第一类:含A中一个元素的集C有 个;
第二类:含A中二个元素的集C有 个;
第三类:含A中三个元素的集C有 个。
故所求集C的个数是 + + =1084。
有序分配问题是指把元素按要求分成若干组,分别分配到不同的位置上,对于这类问题的常用解法,是先将元素逐一分组,然后再进行全排列、但在分组时要注意是否为均匀分组。
例10 3名医生和6名护士被分配到3所学校为学生体检,每校分配1名医生和2名护土,不同的分配方法共有 ( )。
A.90种 B.180种 C.270种 D.540种
分析:(一)先分组、后分配:
第一步:将3名医生分成3组,每组一人只有一种分法。
第二步:将6名护士分成3组,每组2人有:( )/ 种分法。
第三步:将医生3组及护士3组进行搭配,使每组有一名医生、2名护士,有 种搭配方法。
第四步:将所得的3组分配到3所不同的学校有 种分配法。
故共有不同的分配方法: · =540(种)。故选(D)。
分析:(二)第一步:先将6名护士分配到3所不同学校,每所学校2名,则有 (种)分法。
第二步:再将3名医生分配到3所不同的学校,每所学校1人,有 种分法。
故共有 =540(种)故选(D)。
说明:处理此类问题应注意准确分步。
三、解排列组台混合问题——采用先选后排策略
对于排列与组合的混合问题,可采取先选出元素,后进行排列的策略。
例11 4个不同小球放入编号为1、2、3、4的四个盒子,则恰有一个空盒的放法有_________种。
简析:这是一个排列与组合的混合问题。因恰有一个空盒,所以必有一个盒子要放2个球,故可分两步进行:第一步选,从4个球中任选2个球,有 种选法。从4个盒子中选出3个,有 种选法;第二步排列,把选出的2个球视为一个元素,与其余的2个球共3个元素对选出的3个盒子作全排列,有 种排法。所以满足条件的放法共有 =144种。
四、正难则反、等价转化策略
对某些排列组合问题,当从正面入手情况复杂,不易解决时,可考虑从反面入手,将其等价转化为一个较简单的问题来处理。即采用先求总的排列数(或组合数),再减去不符合要求的排列数(或组合数),从而使问题获得解决的方法。其实它就是补集思想。
例12 马路上有编号为1、2、3、…、9的9只路灯,为节约用电,现要求把其中的三只灯关掉,但不能同时关掉相邻的两只或三只,也不能关掉两端的路灯,则满足条件的关灯方法共有_______种。
简析:关掉一只灯的方法有7种,关第二只、第三只灯时要分类讨论,情况较为复杂,换一个角度,从反面入手考虑。因每一种关灯的方法唯一对应着一种满足题设条件的亮灯与暗灯的排列,于是问题转化为在6只亮灯中插入3只暗灯,且任何两只暗灯不相邻、且暗灯不在两端,即从6只亮灯所形成的5个间隙中选3个插入3只暗灯,其方法有=10种。故满足条件的关灯的方法共有10种。
例13 甲、乙两队各出7名队员按事先排好的顺序出场参加围棋擂台赛,双方先由1号队员比赛,负者被淘汰,胜者再与负方2号队员比赛,……直到有一方队员全被淘汰为止,另一方获胜,形成—种比赛过程,那么所有可能出现的比赛过程共有多少种?
解:设甲队队员为a1,a2,…a7,乙队队员为b1,b2,……,b7,下标表示事先安排好的出场顺序,若以依次被淘汰的队员为顺序,比赛过程可类比为这14个字母互相穿插的一个排列,最后是胜队中获胜队员和可能未参赛的队员。如a1a2b1b2a3b3b4b5a4b6b7a5a6a7。所表示为14个位置中取7个位置安排甲队队员,其余位置安排乙队队员,故比赛过程的总数为 =3432。
例14 有2个a,3个b,4个c 共九个字母排成一排,有多少种排法?
分析:若将字母作为元素,1—9号位置作为位子,那么这是一个“不尽相异元素的全排列”问题,若转换角色,将1—9号位置作为元素,字母作为位子,那么问题便转化成一个相异元素不许重复的组合问题。
即共有 =1260(种)不同的排法。
有些问题反面的情况为数不多,容易讨论,则可用剔除法。
对有限制条件的问题,先以总体考虑,再把不符合条件的所有情况剔除。这是解决排列组合应用题时一种常用的解题策略。
例15 四面体的顶点和各棱中点共有10个点,在其中取4个不共面的点,不同的取法共有( )
A.150种 B.147种 C.14种 D.141种
分析:在这10个点中,不共面的不易寻找,而共面的容易找。因此,采用剔除法,由10个点中取出4个点的组合数( 减去4个点共面的个数即为所求)。4点共面情形可分三类:
第一类:四面体每个面中的四个点共面,共有 4× =60种;
第二类:四面体的每2组对棱的中点构成平行四边形,则这四点共面,共有3种;
第三类:四面体的一条棱上三点共线,这三点与对棱中点共面,共有6种。故4点不共面的取法有
-(4 +6+3)=141种。
例16 从0、1、2、3、4、5、6、7、8、9这10个数中取出3个数,使和为不小于10的偶数,不同的取法有多少种。
解:从这10个数中取出3个不同的偶数的取法有 种;取1个偶数和2个奇数的取法有 种。另外,从这10个数中取出3个数,使其和为小于10的偶数,有9种不同取法。
因此,符合题设条件的不同取法有 + -9=51种。
五、解相邻问题——采用“捆绑”策略
对于某几个元素要求相邻的排列问题,可先将相邻的元素“捆绑”起来看作一个元素与其他元素排列,然后再在相邻元素之间排列。
事实上,这种方法就是将相邻的某几个元素,优先考虑。让这些特殊元素合成一个元素,与普通元素排列后,再松绑。
例17 A,B,C,D,E五人并排站成一排,如A,B必相邻,且B在A右边,那么不同排法有 ( )
A.24种 B.60种 C.90种 D.120种
分析:将特殊元素A,B按B在A的右边“捆绑”看成一个大元素,与另外三个元素全排列 ,由A,B不能交换,故不再“松绑”,选A。
例18 5人成一排,要求甲、乙相邻,有几种排法?
解:将甲、乙“捆绑”成一个元素,加上其他3元素,共4元素,全排列有 种,甲、乙内部的排列有 种。故共有 =48种。
也可以这样理解:先让甲、丙、丁、戊,排成一列有 种,再将乙插入甲的左边或右边,有 种,共 =48种。
例19 计划展出10幅不同的画,其中一幅水彩画、4幅油画、5幅国画,排成一行陈列,要求同一品种的画必须连在一起,并且水彩画不放在两端,那么不同的陈列方式有多少种? ( )
A、 B、 C、 D、
分析:先把3种品种的画各看成整体,而水彩画不能放在头尾,故只能放在中间,又油画与国画有 种放法,再考虑油画与国画本身又可以全排列,故排列的方法为 ,故选D。
例20 5名学生和3名老师站成一排照相,3名老师必须站在一起的不同排法共有________种。
简析:将3名老师捆绑起来看作一个元素,与5名学生排列,有 种排法;而3名老师之间又有 种排法,故满足条件的排法共有 =4320种。
用“捆绑”法解题比较简单,实质是通过“捆绑”减少了元素,它与下面要提到的“插孔”法结合起来,威力便更大了。
六、解不相邻问题——采用“插孔”策略
对于某几个元素不相邻的排列问题,可先将其他元素排列好,然后再将不相邻的元素在这些排好的元素之间及两端的空隙中插入。
例21 7人站成一行,如果甲、乙两人不相邻,则不同的排法种数是 ( )
A.1440种 B.3600种 C.4320种 D.4800种
简析:先让甲、乙之外的5人排成一行,有 种排法,再让甲、乙两人在每两人之间及两端的六个间隙中插入,有 种方法。故共有 · =3600种排法,选B。
例22 要排一个有6个歌唱节目和4个舞蹈节目的演出节目单,任何两个舞蹈不相邻,问有多少种不同排法?
分析:先将6个歌唱节目排成一排有 种排法,6个歌唱节目排好后包括两端共有7个“间隔”可以插入4个舞蹈节目有 种,故共 ·6!=604800种不同排法。
例23 从1,2,3,…,2000这2000个自然数中,取出10个互不相邻的自然数,有多少种方法?
解:将问题转化成把10名女学生不相邻地插入站成一列横列的1990名男生之间(包括首尾两侧),有多少种方法?
因为任意相邻2名男学生之间最多站1名女学生,队伍中的男学生首尾两侧最多也可各站1名女学生。于是,这就是1991个位置中任选10个位置的组合问题,故共有 种方法。
利用“插孔”法,也可以减少元素,从而简化问题。
例24 一排6张椅子上坐3人,每2人之间至少有一张空椅子,求共有多少种不同的坐法?
解:将问题转化成把3个人坐5张椅子,然后插一把空椅子问题。
3个人若坐5张椅子,每2人之间一张空椅子。坐法是固定的有 种不同的坐法,然后,将余下的那张椅子插入3个坐位的4个空隙,有4种插法。所以共有4 =24种不同的坐法。
七、解定序问题——采用除法策略
对于某几个元素顺序一定的排列问题,可先把这几个元素与其它元素一同进行排列,然后用总排列数除以这几个元素的全排列数,这其实就是局部有序问题,利用除法来“消序”。
例25 由数字0、1、2、3、4、5组成没有重复数字的六位数,其中个位数小于十位数字的共有( )
A.210个 B.300个 C. 464个 D.600个
简析:若不考虑附加条件,组成的六位数共有 个,而其中个位数字与十位数字的 种排法中只有一种符合条件,故符合条件的六位数共 =300个,故选B。
例26 信号兵把红旗与白旗从上到下挂在旗杆上表示信号,现有3面红旗、2面白旗,把这5面旗都挂上去,可表示不同信号的种数是 ________(用数字作答)。
分析:5面旗全排列有 种挂法,由于3面红旗与2面白旗的分别全排列均只能作一次的挂法,故共有不同的信号种数是 =10(种)。
说明:此题也可以用组合来解,只需5个位置中确定3个,即 =10。
例27 有4个男生,3个女生,高矮互不相等,现将他们排成一行,要求从左到右,女生从矮到高排列,有多少种排法?
分析:先在7个位置上任取4个位置排男生,有 种排法,剩余的3个位置排女生,因要求“从矮到高”,只有一种排法,故共有 =840种。
在处理分堆问题时,有时几堆中元素个数相等,这时也要用除法,
例28 不同的钢笔12支,分3堆,一堆6支,另外两堆各3支,有多少种分法?
解:若3堆有序号,则有 · ,但考虑有两堆都是3支,无须区别,故共有 / =9240种。
例29 把12支不同的钢笔分给3人,一人得6支,二人各得3,有几种分法?
解:先分堆:有 / 种。再将这三堆分配给三人,有 种。共有 · / =3 种。
本题亦可用“选位,选项法”,即: =3 。
八、解分排问题—采用直排处理的策略
把n个元素排成前后若干排的排列问题,若没有其他特殊要求,可采取统一排成一排的方法来处理。
例30 两排座位,第一排3个座位,第二排5个座位,若8位学生坐(每人一个座位)。则不同的坐法种数是( )
A、 B、 C、 D、
简析:因8名学生可在前后两排的8个座位中随意入坐,再无其他条件,所以两排座位可看作一排来处理,其不同的坐法种数是 ,故应选D。
九、解“小团体”排列问题——采用先整体后局部策略
对于“小团体”排列问题,可先将“小团体”看作一个元素与其余元素排列,最后再进行“小团体”内部的排列。
例31 三名男歌唱家和两名女歌唱家联合举行一场音乐会,演出的出场顺序要求两名女歌唱家之间恰有一名男歌唱家,其出场方案共有 ( )
A.36种 B.18种 C.12种 D.6种
简析:按要求出场顺序必须有一个小团体“女男女”,因此先在三名男歌唱家中选一名(有 种选法)与两名女歌唱家组成一个团体,将这个小团体视为一个元素,与其余2名男歌唱家排列有 种排法。最后小团体内2名女歌唱家排列有 种排法,所以共有 =36种出场方案,选A。
十、简化计算繁琐类问题——采用递归策略
所谓递归策略,就是先建立所求题目结果的一个递推关系式,再经简化题目条件得出初始值,进而递推得到所求答案。
例32 有五位老师在同一年级的6个班级中,分教一个班的数学,在数学会考中,要求每位老师均不在本班监考,共有安排监考的方法总数

参考资料:http://www.wishkind.com/bbs/archiver/?tid-295.html

㈨ 组合计算公式是什么

组合计算公式是:C(n,m)=A(n,m)/m。

组合是数学的重要概念之一,它表示从n个不同元素中每次取出m个不同元素,不管其顺序合成一组,称为从n个元素中不重复地选取m个元素的一个组合。所有这样的组合的种数称为组合数。

n元集合A中不重复地抽取m个元素作成的一个组合实质上是A的一个m元子集和。如果给集A编序成为一个序集,那么A中抽取m个元素的一个组合对应于数段到序集A的一个确定的严格保序映射。

组合数的性质:

1、互补性质:即从n个不同元素中取出m个元素的组合数=从n个不同元素中取出(n-m)个元素的组合数;这个性质很容易理解,例如C(9,2)=C(9,7),即从9个元素里选择2个元素的方法与从9个元素里选择7个元素的方法是相等的。

2、组合恒等式:若表示在n个物品中选取m个物品,则如存在下述公式:C(n,m)=C(n,n-m)=C(n-1,m-1) C(n-1,m)。

㈩ 组合算法:从m个数中选n个数的所有组合

#include <iostream.h>

int combine(int a[], int n, int m)
{
m = m > n ? n : m;

int* order = new int[m+1];
for(int i=0; i<=m; i++)
order[i] = i-1;

int count = 0;
int k = m;
bool flag = true;
while(order[0] == -1)
{
if(flag)
{
for(i=1; i<=m; i++)
cout << a[order[i]] << " ";
cout << endl;
count++;
flag = false;
}

order[k]++;
if(order[k] == n)
{
order[k--] = 0;
continue;
}

if(k < m)
{
order[++k] = order[k-1];
continue;
}

if(k == m)
flag = true;
}

delete[] order;
return count;
}

int main()
{
const int M = 4;
const int N = 3;
int a[M];
int b[N];
for(int i=0;i<M;i++)
a[i] = i+1;

combine(a,M,N);

return 0;
}

热点内容
直出服务器怎么样 发布:2024-10-07 15:41:36 浏览:476
比亚迪唐dmi哪个配置性价比 发布:2024-10-07 15:19:28 浏览:901
编译器按变量 发布:2024-10-07 15:07:03 浏览:773
怎么忘记电脑wifi密码怎么办 发布:2024-10-07 15:02:18 浏览:424
安卓开发java开发 发布:2024-10-07 15:01:29 浏览:94
工业级安卓主板价格怎么样 发布:2024-10-07 14:07:57 浏览:628
编程先乘除 发布:2024-10-07 13:58:45 浏览:270
编译内核时发生循环编译 发布:2024-10-07 13:58:43 浏览:496
当下笔记本电脑什么配置好 发布:2024-10-07 12:57:33 浏览:471
安卓倒车轨迹怎么调 发布:2024-10-07 12:54:47 浏览:916