Étant donné une collection non ordonnée d'entiers positifs par toute méthode d'entrée raisonnable, renvoyez toutes les sous-collections qui ont un nombre impair d'éléments impairs (c'est-à-dire qui ont un total impair).
Il s'agit de code-golf , vous devez donc viser à minimiser le nombre d'octets de votre programme.
Étant donné que certaines langues ont uniquement des collections ordonnées (listes, tableaux, vecteurs, etc.) ou n'ont pas de collection non ordonnée qui autorise les doublons, vous pouvez utiliser des collections ordonnées (quel que soit votre choix de langue), mais vous ne devez pas générer de collections en double avec des commandes différentes (par exemple [2,3]
et [3,2]
). Vous pouvez sortir dans l'ordre que vous jugez bon.
Cas de test
[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
la source
la source
[2, 2, 3]
, pouvons-nous revenir[[2, 2, 3], [2, 3], [2, 3]]
?Réponses:
05AB1E , 6 octets
Essayez-le en ligne!
-2 octets grâce à @EriktheOutgolfer
la source
2%
peut être joué au golfÉ
et}
peut être retiré. Mais votre réponse semble avoir le problème.Python 3 , 93 octets
Renvoie un ensemble de tuples. Très probablement trop longtemps.
Essayez-le en ligne!
la source
Pyth ,
1098 octetsEssayez-le en ligne!
la source
{SMf%sT2y
enregistre un octet semble-t-il.Python 2 , 91 octets
Imprime un ensemble de tuples. Si un ensemble de chaînes est autorisé,
tuple(sorted(y))
peut être remplacé par`sorted(y)`
pour 86 octets .Essayez-le en ligne!
la source
Gelée , 9 octets
Essayez-le en ligne!
Bug corrigé grâce à Jonathan Allan.
la source
Perl 6 , 50 octets
Pour filtrer les combinaisons identiques, je filtre les doublons en les convertissant en une
Bag
(collection non ordonnée) avant de comparer. Malheureusement, je n'ai pas pu trouver un moyen d'accepter uneBag
entrée aussi concise.la source
Brachylog , 11 octets
Essayez-le en ligne!
J'espérais trouver une solution plus courte, mais voici le mieux que je pouvais faire.
Explication
Ouais, j'aurais pu utiliser modulo 2 pour vérifier la bizarrerie, mais ce n'est pas une approche étrange;)
la source
Mathematica
31 4438 octetsParmi tous les sous-ensembles de l'ensemble d'entrée, il renvoie ceux pour lesquels la somme
Tr
,, est impaire.6 octets économisés grâce à alephalpha.
{{3}, {7}, {2, 3}, {2, 7}, {2, 2, 3}, {2, 2, 7}}
la source
{2,3}
et{3,2}
ne doit pas être retourné (même avec{2,7}
et{7,2}
).Select[Union@Subsets@Sort@#,OddQ@*Tr]&
PHP, 126 octets
prend l'entrée des arguments de la ligne de commande; courir avec
-nr
ou l' essayer en ligne .panne
la source