реализация комбинаторики и головоломка

enter image description here

Нашел загадку внутри изображения. По моему мнению, общее количество способов должно быть

2 * comb (7, i) для i <- 1 до 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

Не обращайте внимания на то, что я задам слишком много вопросов за короткий промежуток времени. Я просто полон энтузиазма.

5
задан Robin Dey 28 January 2011 в 16:15
поделиться