Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 23, 2013 19:05:56

pnk.andrian
От:
Зарегистрирован: 2011-01-30
Сообщения: 6
Репутация: +  1  -
Профиль   Отправить e-mail  

Задачка для всех

def partial_sum(seq, start, dir):
    start, stop = (start + 1, len(seq)) if dir > 0 else (0, start)
    return sum(seq[i] for i in xrange(start, stop))
def find_saws(k, n):
    if n < 1:
        return 0
    elif n == 1:
        return k
    else:
        return 2 * sum(reduce(lambda m, v: [partial_sum(m, i, ((v+1)%2)*2-1) for i, _ in enumerate(m)], range(n-2), range(k)))



Офлайн

#2 Янв. 23, 2013 20:40:34

Frog-king
Зарегистрирован: 2012-11-30
Сообщения: 31
Репутация: +  1  -
Профиль   Отправить e-mail  

Задачка для всех

sergeek, pnk.andrian !!!!
Охренительно Супер.
Спасибо буду изучать!

Офлайн

#3 Янв. 25, 2013 06:59:43

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Задачка для всех

from itertools import accumulate
def count2(k, n):
    ran = acc = range(1,k+1)
    for l in range(n-1):
        acc = tuple( accumulate(acc[k-p-1] if k>p else 0 for p in ran ) )
    return acc[-1]*2 if n > 1 else k



Отредактировано Isem (Янв. 25, 2013 08:50:37)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version