Un joli simple
Contribution
Étant donné un tableau booléen (ou une alternative acceptable), vous pouvez supposer que le tableau ne comportera jamais plus de 32 éléments.
[false, false, true, false, false]
Production
Inversez chaque élément du tableau et affichez-le.
[true, true, false, true, true]
Règles
- Vous pouvez écrire un programme complet ou juste une fonction
- Des échappatoires standard s'appliquent
- Le code le plus court en octets, par langue, gagne!
Cas de test
Input:
[true, false]
Output:
[false, true]
Input: //Example of acceptable alternative
[0,1,1]
Output:
[1,0,0]
code-golf
array-manipulation
logic
Shaun Wild
la source
la source
0
(faux, tous les 0 bits) et-1
(vrai, tous les 1 bits)?Réponses:
05AB1E , 1 octet
Code:
Explication:
Essayez-le en ligne!
la source
Gelée , 1 octet
Essayez-le en ligne!
¬
est NON logique (1 si faux-y, sinon 0).C
(«Complément», 1-z ) fonctionne également.la source
Javascript ES6, 15 octets
Pas beaucoup d'explications nécessaires je suppose
la source
Matlab,
41 octetCela devrait être explicite.
Matlab a l'opérateur de négation à un octet
~
, si vous voulez une fonction que vous pouvez utiliser@not
.la source
@
rgument,n
egate,o
utput,t
erminate, right?~
est sûrement une réponse appropriée car c'est un opérateur qui reçoit un argument. Je pense que~[1,0,0,1,0]
c'est tout à fait approprié.Haskell, 7 octets
Exemple:
la source
not<$>
, mais ce n'est pas une expression valide; vous ne pouvez pas écriref = not<$>
et puisf [False, True, True]
; les tranches d'opérateur ont besoin de parenthèses autour d'elles, ce qui contribuerait au nombre d'octets.MATL , 1 octet
Essayez-le en ligne!
~
est le non logique et comme de nombreuses fonctions, il peut également être appliqué à des tableaux / matrices.la source
C, 46 octets version récursive
C, 47 octets version itérative
Exécuter à l'aide de cette fonction principale
et entrer comme ça
la source
R, 1 octet
Exemple:
Il fonctionne également avec une entrée numérique:
Nous ne sommes pas non plus limités aux tableaux unidimensionnels. Faisons une matrice et remplissons-la au hasard avec des 0 et des 1:
Nous pouvons inverser cela tout aussi facilement:
Nous pouvons continuer à le faire pour un nombre arbitraire de dimensions. Voici un exemple sur un tableau à quatre dimensions:
Ne fonctionne pas pour les personnages, je le crains.
la source
Perl 6 , 4 octets
Version "française" / Unicode:
Version "Texas" / ASCII:
L'entrée est une valeur unique qui peut être traitée comme une liste.
C'est aa Quel que soit lambda (
*
) avec l' opérateur logique non prefix (!
) combiné en utilisant prefix hyper operator («
) .En fait, c'est la même chose que:
Usage:
la source
{!«@_}
!**
devrait aussi fonctionnerLabyrinthe , 9 octets
Essayez-le en ligne! Suppose une entrée séparée par une nouvelle ligne avec une nouvelle ligne de fin. Merci à @MartinEnder pour son aide au golf.
Ce programme est un peu bizarre pour un programme Labyrinth - il n'utilise pas la nature 2D du langage, et il rebondit en fait. Lors du premier voyage en avant, nous avons:
L'occurrence suivante de
$
XOR puis le 0 existant sur la pile avecc
, par opposition à un 0 implicite au bas de la pile comme lors de la première exécution. Les deux situations laissent la pile telle quelle[c]
et le programme se répète par la suite.Alternative 9 octets:
la source
:)
Mathematica, 7 octets
ou sans lettres:
Quant au sucre syntaxique:
&
marque l'extrémité droite d'une fonction sans nom et a une très faible priorité.#
fait référence au premier argument du plus proche et englobant&
.!
est l'opérateur pourNot
. Il ne!#&
s'agit donc que d'une fonction sans nom qui nie son argument, en d'autres termes, elle est identique à la fonction intégréeNot
./@
est l'opérateur pourMap
. Le code serait donc également équivalent à un peu plus lisibleMap[Not, #]&
.la source
!#&/@#&
suis-je censé lire ça? :)Not
ne soit pas listablePython,
272524 octetsMerci à Lynn pour avoir joué au golf sur deux octets, et à xnor et Mego pour en avoir joué un autre.
la source
0
/1
sont autorisés et1-b
sont plus courts quenot b
. J'ai demandé à l'OP si les tableaux de0
/-1
sont autorisés, auquel cas~b
c'est encore plus court.for
pourrait être supprimé.1for
cela serait analysé comme deux jetons distincts. Huh, TIL.C #, 19 octets
comme fonction annonymous, prend un bool [] et retourne un IEnumerable
ou en 36 octets avec
la source
Formule IBM / Lotus Notes, 2 octets
Usage:
Créez un formulaire Notes avec deux champs nommés a et b.
a (entrée) = modifiable, nombre, multi-valeurs, séparé par des virgules
b (sortie) = calculé, nombre, multi-valeurs, séparé par des virgules
Collez la formule ci-dessus dans b et donnez une valeur par défaut de 0.
Créez un nouveau document avec le formulaire, entrez une liste binaire dans a et appuyez sur F9 pour mettre à jour la sortie.
Exemples:
Fonctionne car étant donné une liste en entrée, la formule Notes appliquera l'action spécifiée à chaque élément de la liste.
la source
J, 2 octets
Ceci est le verbe de négation.
Cas de test
la source
Swift 3 (7 octets)
par exemple
Explication
Semble assez évident. Appelle
map
sur la baie[true, false]
. Le seul "piège" est que, dans Swift, les opérateurs ne sont que des fonctions et peuvent être passés comme arguments. Cela signifiemap(!)
passer la fonction "non"!
dansmap
.la source
Langage de programmation Shakespeare , 240 octets
Accepte une entrée en tant que chaîne de
\0
et\1
caractères de contrôle. Sorties sous forme de chaîne de0
ou1
. Si l'entrée doit être la même que la sortie, remplacez-laOpen thy heart
parSpeak thy mind
pour aucun changement du nombre d'octets. Si\0
et\1
ne peut être utilisé, procédez comme ci - dessus, mais aussi remplacerOpen your mind
avecListen to thy heart
une pénalité de 5 octets.Non golfé:
Cela se traduit approximativement par le pseudocode C suivant:
J'utilise cet interprète . Exemple d'exécution:
la source
JAISBaL , 1 octet
Comme toutes les autres réponses à 1 octet, il s'agit de l'opérateur de négation, qui peut fonctionner sur un tableau si nécessaire. Cela laisse la sortie sur la pile, qui est imprimée à la fin du programme.
Pour deux octets, le tableau peut être explicitement imprimé:
L'entrée est dans le format de tableau incroyablement étrange de JAISBaL (que j'ai inventé, mais je ne l'aime pas ...).
Cas de test (sortie de l'interpréteur Java, 3.0.5):
la source
PowerShell, 15 octets
Je pense que cela peut même fonctionner en v1, donc j'ai laissé le numéro de version hors du titre. Boucle à travers l'entrée
$args
et annule tour à tour chaque élément. Ce tableau résultant est laissé sur le pipeline.La chose intéressante, cependant, est que PowerShell est si lâche sur ses exigences de casting, vous pouvez faire une entrée complètement mélangée et obtenir une sortie booléenne appropriée. Par exemple, voici les valeurs booléennes littérales
$false
/$true
, les nombres0
1
et123456789
sous forme d'entiers, une chaîne vide, une chaîne non vide, un tableau vide et un tableau non vide -la source
Perl, 7 octets
Comprend +2 pour
-lp
Donnez à chaque valeur booléenne 0 ou 1 sur sa propre ligne
invert.pl
:la source
Brachylog , 7 octets
Essayez-le en ligne!
Explication
la source
Cheddar, 10 octets
J'espère que j'ai bien compté pendant que j'écris à partir du téléphone
la source
fn.vec((!))
si cela a été publié: PJava, 58 octets
la source
arr
poura
(sauvegarde 4 octets), écrireint[]a
au lieu deint a[]
(sauvegarde 1 octet),brainfuck (58 octets)
Essayez-le ici
Non golfé
Prend une entrée de 1 ou de 0 indivis (11001).
la source
Logicode ,
98 octetsVraiment simple.
Prend l'entrée comme une chaîne binaire, car Logicode ne prend pas en charge les listes (ce
[true, false]
serait le cas10
).Le
out
sort le résultat de la ligne.La
!
commande calcule le NOT de chaque bit de la chaîne, donc quelque chose comme!111
serait000
.C'est
binp
une entrée binaire.1 octet enregistré grâce à @daHugLenny
la source
out
et!binp
.CJam , 4 octets
L'entrée est une liste de
0
s et1
s.Essayez-le en ligne!
la source
Japt, 3 octets
Japt n'a pas d'entrée booléenne, donc l'entrée est un tableau de 0 et de 1. Testez-le en ligne!
Comment ça fonctionne
la source
Rétine , 3 octets
Essayez-le en ligne!
Pour chaque ligne (
%
), comptez le nombre de0
s.la source
Python 2, 24 octets (non concurrent)
La logique est similaire à celle de Steven, mais j'ai essayé d'utiliser l'idée de ce commentaire, mais différente, car elle prend toujours
0
/1
tableaux, pas0
/-1
. Il n'y a pas de rasage d'octets pour utiliser0
/-1
, alors soyons sains d'esprit. Notez que ce n'est pas en compétition, jusqu'à ce que Steven ou Lynn me permettent d'utiliser l'idée. Si c'est le cas, je pourrais retirer la marque non concurrente. Notez que ce code ne peut pas être volé sans vergogne, il est toujours là. Seul Steven peut l'utiliser pour sa réponse.la source
Rubis, 14 octets
Fonction anonyme:
Essaye-le:
la source