陳新龍
排列組合是組合學最基本的概念。所謂排列,就是指從給定個數的元素中取出指定個數的元素進行排序。組合則是指從給定個數的元素中僅僅取出指定個數的元素,不考慮排序。排列組合的中心問題是研究給定要求的排列和組合可能出現的情況總數。排列組合與古典概率論關系密切。
舉個例子,用0~9組成可以重復的兩位數,可以組成幾組呢?請都列舉出來。其實就是所有兩位數,也就是從10~99。如果要求是不能重復的兩位數呢?可以組成多少個?如果組成三位數呢?這就是排列組合題。
下面我們就來做一道經典的“排列組合”題。有四個數字:1、2、3、4,能組成多少個互不相同且無重復數字的三位數?各是多少?分析題目可知,我們將在個位、十位、百位上進行排列組合,但是記住要去除不滿足條件的排列。

由上圖我們可以分析要在三位數中進行排列組合,并且不能重復。首先怎么樣排除重復是最重要的一點。這里采用了最簡單的方法,我們把個位、十位、百位上的數字分別設為I、J、K三個變量,并且要加以條件,使得不能相互之間存在重復。理解完原理之后我們來用Python嘗試著編寫一下。
題目:

答案:

一共是24個數字,全部都列舉出來了,Python語言編寫相對來說還是比較簡單的。這里提醒一下大家,每句話結束之后“:”不要忘記,并且英文半角符號要注意,否則容易出錯哦。
題目比較簡單,你可以把題目改進一下,如果從0、1、2、3、4中組成不能重復的三位數,能組成幾個呢?你能列出來嗎?趕快來嘗試一下吧。偷偷告訴你答案,一共是48個,看看你有沒有算對,趕緊把程序寫下來吧。
