Dada uma coleção não ordenada de números inteiros positivos por qualquer método de entrada razoável, retorne todas as sub-coleções que possuem um número ímpar de elementos ímpares (ou seja, possuem um total ímpar).
Isso é código-golfe, então você deve tentar minimizar a contagem de bytes do seu programa.
Como alguns idiomas possuem apenas coleções ordenadas (listas, matrizes, vetores etc.) ou não possuem uma coleção não ordenada que permita duplicatas, você pode usar coleções ordenadas (independentemente da sua escolha de idioma); no entanto, você não deve produzir coleções duplicadas. com ordens diferentes (por exemplo, [2,3]
e [3,2]
). Você pode imprimir na ordem que desejar.
Casos de teste
[2,3,7,2] -> [[3],[7],[2,3],[2,7],[2,2,3],[2,2,7]]
[2,4,6,8] -> []
[4,9] -> [[9],[4,9]]
code-golf
combinatorics
Post Rock Garf Hunter
fonte
fonte
[2, 2, 3]
, podemos voltar[[2, 2, 3], [2, 3], [2, 3]]
?Respostas:
05AB1E , 6 bytes
Experimente online!
-2 bytes graças a @EriktheOutgolfer
fonte
2%
pode ser jogado golfeÉ
e}
pode ser removido. Mas sua resposta parece ter o problema.Python 3 , 93 bytes
Retorna um conjunto de tuplas. Muito provavelmente muito tempo.
Experimente online!
fonte
Pitão ,
1098 bytesExperimente online!
fonte
{SMf%sT2y
salva um byte que parece.Python 2 , 91 bytes
Imprime um conjunto de tuplas. Se um conjunto de cadeias de caracteres for permitido,
tuple(sorted(y))
poderá ser substituído`sorted(y)`
por 86 bytes .Experimente online!
fonte
Geléia , 9 bytes
Experimente online!
Bug corrigido graças a Jonathan Allan.
fonte
Perl 6 , 50 bytes
Para filtrar as combinações de mesma ordem, eu filtrei duplicatas convertendo cada uma em uma
Bag
(coleção não ordenada) antes de comparar. Infelizmente, não consegui encontrar uma maneira de aceitar umaBag
entrada tão concisa.fonte
Braquilog , 11 bytes
Experimente online!
Eu esperava encontrar uma solução mais curta, mas aqui está o melhor que eu poderia fazer.
Explicação
Sim, eu poderia ter usado o módulo 2 para verificar a estranheza, mas essa não é uma abordagem estranha;)
fonte
Mathematica
31 4438 bytesEntre todos os subconjuntos do conjunto de entrada, ele retorna aqueles para os quais a soma
Tr
, é ímpar.6 bytes salvos graças ao alephalpha.
{{3}, {7}, {2, 3}, {2, 7}, {2, 2, 3}, {2, 2, 7}}
fonte
{2,3}
e{3,2}
não deve tanto ser devolvidos (o mesmo com{2,7}
e{7,2}
).Select[Union@Subsets@Sort@#,OddQ@*Tr]&
PHP, 126 bytes
recebe entrada de argumentos de linha de comando; correr com
-nr
ou experimentar online .demolir
fonte