2011-01-28 90 views
5

enter image description here組合實現和拼圖

在圖像中發現了這個謎題。根據我的思路,總路數應該是

2*comb(7,i) for i <- 1 to 7其中comb定義如下。我的方法是否正確?我關心的是我得到的結果,而不是下面寫的函數。

def comb(N,k): 
    if (k > N) or (N < 0) or (k < 0): 
     return 0L 
    N,k = map(long,(N,k)) 
    top = N 
    val = 1L 
    while (top > (N-k)): 
     val *= top 
     top -= 1 
    n = 1L 
    while (n < k+1L): 
     val /= n 
     n += 1 
    return val 

不要介意我在短時間內詢問太多問題。我只是熱情。

+0

它是一個技巧性問題。只有6個孩子;) – sizzzzlerz 2011-01-28 16:19:12

回答

6

還有7!孩子排隊方式(第一選擇7選,第二選6,第三選5等)

每個孩子都可以面對內向或外向。這就像每個位置的額外位。 乘以2 ** 7。 (即每個地點有2個選擇)。

現在對於每個訂購,如果您旋轉圓圈,則會得到「相同」訂購。有7個旋轉都產生相同的順序,所以除以7.

答案是2 ** 7 * 7!/ 7 = 128 * 6! = 92160.