Разбие́ние мно́жества — это представление его в виде объединения произвольного количества попарно непересекающихся подмножеств.
Где тут написано, что они должны быть одного размера?
Но это полбеды. Следи за руками, я повторю твои выкладки для размера 3:
Выбираем опорный элемент, например {a} и находим все возможные тройки с этим элементом: abc,abd,abe,abf,acd,ace,acf,ade,adf,aef - всего 10 троек.
Теперь для каждого подмножества находим количество разбиений из оставшихся 3 элементов.
Например для тройки abc имеем такие варианты:
Вариант 1- def - и всё!
Т.е. всего имеем 10 исходных троек умноженное на 1 разбиение для каждого, равно 10 возможных разбиений.
Что ни разу не есть C(6,3) = 20
albertalexandrov, странное дело. len - функция, возвращающая длину итерируемого объекта, напр. строки или списка. В вышем случае это должна быть всегда 2. Для длины вектора в том смысле, как расписали вы, естественно было бы назвать функцию abs.
Евгений, автор дурень, да. Но к чему за него фантазировать, есть вопрос - есть ответ.
Генератор, конечно, ничего до конца не просмотрит (гуглите ленивые вычисления), но тут ему точно не место.
Смишно.
players или пустой, или нет.
Если пустой, цикл не походится ни разу, и результатом функции будет None
Если нет, достаточно проверить первый элемент.
return (players[0] if players[0]["id"] == user_id else False) if players else None
Руслан, возьмём множество букв "abcdef" и размеры 1,2,3 (числа 5 и 10 великоваты для наглядного примера)
Тогда приемлимыми будут разбиения "a b c d e f", "ad be cf", "abf cde", но также "a bf cde", "a c bde f" - такая трактовка, похоже, кажется вам невероятной.
Тем не менее мною задача прочитана так. Руслан, что же до вашего решения, то оно неверно и в вашей же постановке задачи. Любопытно, сможете ли вы это понять самостоятельно.
Руслан, любопытная трактовка задачи. То есть вы решили, что раз задано 3 размера множеств, то и ответов должно быть 3? Вы не находите, что это немного странно: к одной задаче давать 3 условия и ожидать 3 варианта ответов? Вам не кажется, что трактовка "подсчитать количество способов разбить n элементов на множества размером 1, 5 или 10 элементов" более естественна?
Руслан, что-то туго идёт разговор: и отвечаете вы в пустоту (надо - адресно, тогда собеседнику приходит уведомление), и отвечаете вы невпопад - я не спрашивал, как посчитать биноминальный коэффициент, я спрашивал - как вы с его помощью можете получить ответ к задаче.
Вы точно Senior Developer?
Где тут написано, что они должны быть одного размера?
Но это полбеды. Следи за руками, я повторю твои выкладки для размера 3:
Жжешь, Senior Developer!