排列:
假設有五組數字取四組出來排列:P(5,4),就是說從五組中取四組出來排列
p(5,4)=5*4*3*2=120種可能。
組合:
c(5,4)=5!/(4!*[5-4]!)=5
排列組合:
C(5,4)*4!=120個
希望你用的上啦!!!
--
[1;33m我是隻 [0m [1;5;36m浪漫多情 [m [1;33m的魚兒..... [m [1;5;36m
浪漫 [m [1;1;33m是我的 [m [1;3;32m天性... [m [m [1;5;36m 多情 [m [1;1;33m是我的 [m [1;1;32m個性... [m
[m [1;36m 或許 [m [1;33m 你會覺得我很濫情.... [m
[1;30m 但 [m [1;1;32m請相信我 [m [1;33m 我始終 對你 [m [1;5;31m一直沒變.. [m
~
--
[m● Origin : 雲林科技大學藍天使 <bbs.yuntech.edu.tw> [FROM: 140.125.83.22]
guard 撰寫於文章 <35637A17...@ucs.com.tw>...
>[Delphi][Misc] 排列組合演算法?
>
>小弟遇到一個問題,倒是與delphi無關
>希望能從n組數字中,排列組合成四組數字(相同數字不同位置視同已排列過)
>並且全部不重覆,小弟數學很差,請各位幫忙
>
>27,38,19,49,93(原始數字)
>
>
>27,38,19,49
>38,19,49,93
>39,49,93,27
相同數字而不同位置視同已出現,那就是組合問題,
C(5, 4) = 5 總共也不過五組合。
分別拿掉其中一個數字就可以了,比如說第一次拿掉
第一個數字,第二次則拿掉第二個數字,總共拿掉五
次,所以有五組解答。
wtchou 寫道:
想像一下有五個不一樣的位置對應此5數,
所以,當在這些位置填入1時就表示說,選了對應的數字,
如果要選三個,就只能填入3個1,選四個就會有四個1。
such as:
11100
11010
11001
10110
10101
10011
01110
01101
01011
00111
使用遞迴的方式可以很快解決....取與不取的情形而已
--
[1;33m 美麗的背後,總有醜陋的一面...
[1;32m 有時候苛求完美,是一種無可自拔的痛苦...
[0m [30m Albert J.
--
※ Origin: 獨數一閣 ◆ From: ming.dorm4.ntnu.edu.tw