如何撰寫程式找出一組數字(?~n)的所有排列組合?


例如 ?~n為1~4 有4!=24組組合,如下:


1234 1243 1324 1342 1423 1432


2134 2143 2314 2341 2413 2431


3124 3142 3214 3241 3412 3421


4123 4132 4213 4231 4312 4321

 


要如何求得所有排列組合?


?~n中:?可以是任意數值,n代表這一組數字有幾個數值構成


當然這一組數字不一定要是連續數值,也可以是等差級數或等比級數數值。因為等比級數數值處理上會使程式較複雜,所以這裡只做連續數值和等差級數數值。對等比級數有興趣的請自己研究修改

 


完成的程式和簡易註解如下圖

20110610-02  

 

 

程式執行結果,找出的所有排列組合是沒有按照順序的,若要排序還要另加排序的程式

20110610-01  

未出師的小工程師 發表在 痞客邦 PIXNET 留言(0) 人氣()