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

enter image description here

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

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

Не обращайте внимания на то, что я задаю слишком много вопросов за короткий период времени. Я просто полон энтузиазма. ВНУТРЕННЕЕ СОЕДИНЕНИЕ b ИСПОЛЬЗОВАНИЕ (id) НАБОР a.firstname = 'Pekka', a.lastname = 'Kuronen', b.companyname = 'Suomi Oy', b.companyaddress = '...

Я видел этот на форуме codeigniter

Учитывая приведенный ниже код

UPDATE a
INNER JOIN b USING (id)
SET a.firstname='Pekka', a.lastname='Kuronen',
b.companyname='Suomi Oy',b.companyaddress='Mannerheimtie 123, Helsinki Suomi'
WHERE a.id=1; 

Вот как вы, по-видимому, сделали бы в Codeigniter

$this->db->set('a.firstname', 'Pekka');
$this->db->set('a.lastname', 'Kuronen');
$this->db->set('b.companyname', 'Suomi Oy');
$this->db->set('b.companyaddress', 'Mannerheimtie 123, Helsinki Suomi');
$this->db->where('a.id', 1);
$this->db->join('table2 as b', 'a.id = b.id');
$this->db->update('table as a');

это не работает. Я взглянул на SQL, который это производит, и в результатах даже не упоминается соединение.

Кто-нибудь знает, как выполнить обновление с помощью соединения с использованием класса базы данных Active Record от Codeigniter?

7
задан Ash 28 January 2011 в 16:07
поделиться