陈新龙
排列组合是组合学最基本的概念。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数。排列组合与古典概率论关系密切。
举个例子,用0~9组成可以重復的两位数,可以组成几组呢?请都列举出来。其实就是所有两位数,也就是从10~99。如果要求是不能重复的两位数呢?可以组成多少个?如果组成三位数呢?这就是排列组合题。
下面我们就来做一道经典的“排列组合”题。有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?分析题目可知,我们将在个位、十位、百位上进行排列组合,但是记住要去除不满足条件的排列。
由上图我们可以分析要在三位数中进行排列组合,并且不能重复。首先怎么样排除重复是最重要的一点。这里采用了最简单的方法,我们把个位、十位、百位上的数字分别设为I、J、K三个变量,并且要加以条件,使得不能相互之间存在重复。理解完原理之后我们来用Python尝试着编写一下。
题目:
答案:
一共是24个数字,全部都列举出来了,Python语言编写相对来说还是比较简单的。这里提醒一下大家,每句话结束之后“:”不要忘记,并且英文半角符号要注意,否则容易出错哦。
题目比较简单,你可以把题目改进一下,如果从0、1、2、3、4中组成不能重复的三位数,能组成几个呢?你能列出来吗?赶快来尝试一下吧。偷偷告诉你答案,一共是48个,看看你有没有算对,赶紧把程序写下来吧。