1. 程式人生 > >排列組合—— 球盒問題

排列組合—— 球盒問題

                                                                                                                  球盒問題 
一、球相同,盒子相同,且盒子不能空 
    例1.8個相同的球放入3個相同的盒子中,每個盒子中至少有一個. 問有多少種不同的放法? 
解析  球入盒問題,可以看成分兩步完成,首先是將8個球分成三堆,每堆至少一個. 由於這裡球和盒子都相同,每三堆放入3個盒子中只有一種情況,所以只要將8個球分成三堆. 即1-1-6、1-2-5、1-3-4、2-2-4、2-3-3五種,故將8個相同的球放入3個相同的盒子中,每個盒子至少有一個, 有五種不同的放法. 
結論

 n個相同的球放入m個相同的盒子(n≥m),不能有空盒時的放法種數等於n分解為m個數的和的種數. 
二、球相同,盒子相同,且盒子可以空 
        例2.8個相同的球放入3個相同的盒子中. 問有多少種不同的放法? 
解析  與上題不同的是分成的三堆中,上題中的每一堆至少有一個球,而這個題中的三堆可以有球數為零的堆,即除了分成上面的五堆外,還可分為1-7、2-6、3-5、4-4和只一堆共五種情況,故8個相同的球放入3個相同的盒子中.,有十種不同的放法. 
結論 n個相同的球放入m個相同的盒子(n≥m),可以有空盒時的放法種數等於將n分解為m個、(m-1)個、(m-2)個、…、2個、1個數的和的所有種數之和.

三、球相同,盒子不同,且盒子不能空 
        例3.8個相同的球放入標號為1、2、3的三個盒子中,每個盒子中至少有一個. 問有多少種不同的放法?(隔板法) 
解析 這是個相同的球放入不同的盒子中,與前面不同的是,這裡盒子不同,所以不能再用前面的解法. 將8個球排成一排,形成7個空隙,在7個空隙中任取兩個插入兩塊隔板,有C(2,7)=21種;這樣將8個球分成三堆,第一堆放到1號盒子內,第二堆放到2號盒子內,第三堆放到3號盒子內. 故將8個相同的球放入標號為1、2、3的三個盒子中,每個盒子中至少有一個,有21種不同的放法. 
結論  n個相同的球放入m個不同的盒子中(n≥m),不能有空盒的放法數 C(m-1,n-1)。

四、球相同,盒子不同,且盒子可以空 
        例4.8個相同的球放入標號為1、2、3的三個盒子中. 問有多少種不同的放法? 
解析  與上一題不同的是,這裡可以有盒子沒放一個. 還是利用隔板原理將8個球分為三堆,只不過有的堆的球數為零,即在8個球之間插入兩塊隔板.  首先將8個球排成一排,就有9個空,任取一個空插入一塊隔板,有 C(1,9) 種;然後再將第二塊隔板插入前面8個球和第一塊隔板形成的10個空中,有 C(1,10) 種,但這兩種放法中有重複的,要除以2;最後將第一塊隔板左邊的球放入1號盒子中兩塊隔板之間的球放入2號盒子中,第二塊隔板右邊的球放入3號盒子中. 故一共有: