Niezły prosty
Wejście
Biorąc pod uwagę tablicę boolowską (lub dopuszczalną alternatywę), możesz założyć, że tablica nigdy nie będzie miała więcej niż 32 elementy.
[false, false, true, false, false]
Wynik
Odwróć każdy element tablicy i wyślij go.
[true, true, false, true, true]
Zasady
- Możesz napisać pełny program lub tylko funkcję
- Obowiązują standardowe luki
- Najkrótszy kod w bajtach, na język, wygrywa!
Przypadki testowe
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
źródło
źródło
0
(fałsz, wszystkie 0 bitów) i-1
(prawda, wszystkie 1 bit)?Odpowiedzi:
05AB1E , 1 bajt
Kod:
Wyjaśnienie:
Wypróbuj online!
źródło
Galaretka , 1 bajt
Wypróbuj online!
¬
jest logiczne NIE (1 jeśli false-y, w przeciwnym razie 0).C
(„Uzupełnienie”, 1 − z ) również działa.źródło
JavaScript ES6, 15 bajtów
Chyba nie trzeba było wiele wyjaśnień
źródło
Matlab,
41 bajtTo powinno być oczywiste.
Matlab ma jednobajtowy operator negacji
~
, jeśli potrzebujesz funkcji, której możesz użyć@not
.źródło
@
rgument,n
Egate,o
utput,t
erminate, prawda?~
jest właściwą odpowiedzią, ponieważ jest to operator, który otrzymuje argument. Myślę, że~[1,0,0,1,0]
jest to całkowicie właściwe.Haskell, 7 bajtów
Przykład:
źródło
not<$>
, ale to nie jest poprawne wyrażenie; nie możeszf = not<$>
wtedy pisaćf [False, True, True]
; wycinki operatora wymagają nawiasów wokół nich, które przyczyniłyby się do zwiększenia liczby bajtów.MATL , 1 bajt
Wypróbuj online!
~
jest logicznym nie , a wiele funkcji, może być również stosowany do tablic / matryce.źródło
C, 46 bajtów wersja rekurencyjna
C, 47 Bajtowa wersja iteracyjna
Uruchom za pomocą tej głównej funkcji
i takie dane wejściowe
źródło
R, 1 bajt
Przykład:
Działa również z wprowadzaniem numerycznym:
Nie ograniczamy się również do tablic jednowymiarowych. Zróbmy macierz i losowo zapełnij ją zerami i jedynkami:
Możemy to równie łatwo odwrócić:
Możemy to nadal robić dla dowolnej liczby wymiarów. Oto przykład czterowymiarowej tablicy:
Obawiam się, że nie działa dla postaci.
źródło
Perl 6 , 4 bajty
Wersja „francuska” / Unicode:
Wersja „Texas” / ASCII:
Dane wejściowe to pojedyncza wartość, którą można traktować jako listę.
Jest to cokolwiek lambda (
*
) z logicznym operatorem nieprefiksowym (!
) połączonym za pomocą przedrostka hyper operator («
) .W rzeczywistości jest to to samo, co:
Stosowanie:
źródło
{!«@_}
:)!**
powinien też działaćLabirynt , 9 bajtów
Wypróbuj online! Zakłada wejście oddzielone znakiem nowej linii z końcowym znakiem nowej linii. Dzięki @MartinEnder za pomoc w grze w golfa.
Ten program jest trochę dziwny jak na program Labirynt - nie wykorzystuje dwuwymiarowej natury języka i faktycznie odbija się tam iz powrotem. Podczas pierwszej podróży do przodu mamy:
Kolejne wystąpienie
$
XOR to istniejące 0 na stosiec
, w przeciwieństwie do niejawnego 0 na dole stosu, jak w pierwszym uruchomieniu. Obie sytuacje pozostawiają stos jako[c]
, a program powtarza się później.Alternatywne 9 bajtów:
źródło
:)
Mathematica, 7 bajtów
lub bez liter:
Jeśli chodzi o cukier syntaktyczny:
&
oznacza prawy koniec nienazwanej funkcji i ma bardzo niski priorytet.#
odnosi się do pierwszego argumentu najbliższego i otaczającego&
.!
jest operatorem dlaNot
. Tak więc!#&
jest to tylko nienazwana funkcja, która neguje jej argument, innymi słowy jest identyczna z wbudowanąNot
./@
jest operatorem dlaMap
. Więc kod byłby również równoważny z nieco bardziej czytelnymMap[Not, #]&
.źródło
!#&/@#&
mam to przeczytać? :)Not
nie ma na liściePython,
272524 bajtówDzięki Lynn za grę w golfa za dwa bajty, a Xnor i Mego za grę w golfa za drugim.
źródło
0
/1
są dozwolone i1-b
są krótsze niżnot b
. Zapytałem OP, czy tablice0
/-1
są dozwolone, w którym~b
to przypadku jest jeszcze krótszy.for
mogłaby zostać upuszczona.1for
że zostaną przeanalizowane jako dwa osobne tokeny. Huh, TIL.C #, 19 bajtów
jako funkcja anonimowa przyjmuje bool [] i zwraca IEnumerable
lub w 36 bajtach z
źródło
Formuła IBM / Lotus Notes, 2 bajty
Stosowanie:
Utwórz formularz Notatki z dwoma polami o nazwach a i b.
a (wejście) = edytowalne, liczba, wiele wartości, oddzielone przecinkami
b (wynik) = obliczony, liczba, wiele wartości, oddzielone przecinkami
Wklej powyższą formułę do b i ustaw domyślną wartość 0.
Utwórz nowy dokument za pomocą formularza, wprowadź listę binarną w punkcie i naciśnij klawisz F9, aby zaktualizować dane wyjściowe.
Przykłady:
Działa, ponieważ biorąc pod uwagę listę jako dane wejściowe, formuła programu Notes zastosuje dowolne określone działanie do każdego elementu na liście.
źródło
J, 2 bajty
To jest czasownik przeczący.
Przypadek testowy
źródło
Swift 3 (7 bajtów)
na przykład
Wyjaśnienie
Wydaje się to dość oczywiste. Wzywa
map
tablicę[true, false]
. „Gotcha” polega na tym, że w Swift operatory są tylko funkcjami i mogą być przekazywane jako argumenty. Oznacza tomap(!)
przekazanie funkcji „nie”!
domap
.źródło
Język programowania Szekspira , 240 bajtów
Zajmuje wejście jako ciąg
\0
i\1
znaków sterujących. Dane wyjściowe jako ciąg0
lub1
. Jeśli wejście musi być taka sama jak na wyjściu, wymienićOpen thy heart
zSpeak thy mind
bez zmiany bytecount. Jeśli\0
i\1
nie może być używany, należy wykonać powyższe, ale także wymienićOpen your mind
sięListen to thy heart
na kary 5-bajtowego.Nie golfowany:
To z grubsza przekłada się na następujący pseudokod C:
Używam tego tłumacza . Przykładowy przebieg:
źródło
JAISBaL , 1 bajt
Podobnie jak wszystkie inne odpowiedzi 1-bajtowe, jest to operator negacji, który w razie potrzeby może działać na tablicy. Pozostawia to wynik na stosie, który jest drukowany na końcu programu.
W przypadku dwóch bajtów tablicę można jawnie wydrukować:
Dane wejściowe są w niezwykle dziwnym formacie tablicowym JAISBaL (który wymyśliłem, ale mi się nie podoba ...).
Przypadki testowe (dane wyjściowe z interpretera Java, 3.0.5):
źródło
PowerShell, 15 bajtów
Myślę, że może to nawet działać w wersji 1, dlatego zostawiłem numer wersji wyłączony z tytułu. Pętle przechodzą przez dane wejściowe
$args
i kolejno negują każdy element. Powstała tablica jest pozostawiana w potoku.Ciekawe jest jednak to, że PowerShell jest tak luźny w swoich wymaganiach dotyczących rzutowania, że możesz wykonać całkowicie mieszane dane wejściowe i uzyskać odpowiednią wartość logiczną. Na przykład tutaj są dosłowne wartości logiczne
$false
/$true
, liczby0
1
i123456789
jako liczby całkowite, pusty ciąg, niepusty ciąg, pusta tablica i niepusta tablica -źródło
Perl, 7 bajtów
Obejmuje +2 za
-lp
Podaj każdą wartość logiczną jako 0 lub 1 w osobnym wierszu
invert.pl
:źródło
Brachylog , 7 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Cheddar, 10 bajtów
Mam nadzieję, że policzyłem, pisząc z telefonu
źródło
fn.vec((!))
jeśli kiedykolwiek został wydany: PJava, 58 bajtów
źródło
arr
naa
(zapisuje 4 bajty), piszint[]a
zamiastint a[]
(zapisuje 1 bajt),brainfuck (58 bajtów)
Wypróbuj tutaj
Nie golfił
Pobiera dane wejściowe niepodzielnych 1 lub 0 (11001).
źródło
Kod logiczny ,
98 bajtówNaprawdę proste.
Pobiera dane wejściowe jako ciąg binarny, ponieważ Logicode nie obsługuje list (tak też
[true, false]
byłoby10
).out
Wyprowadza wynik tej linii.!
Polecenie oblicza NIE każdego bitu w ciągu, więc coś!111
będzie000
.Jest
binp
to wejście binarne.1 bajt zapisany dzięki @daHugLenny
źródło
out
i!binp
.CJam , 4 bajty
Dane wejściowe to lista
0
s i1
s.Wypróbuj online!
źródło
Japt, 3 bajty
Japt nie ma danych logicznych, więc dane wejściowe to tablica zer i jedynek. Przetestuj online!
Jak to działa
źródło
Siatkówka , 3 bajty
Wypróbuj online!
Dla każdej linii (
%
) policz liczbę0
s.źródło
Python 2, 24 bajty (niekonkurujące)
Logika jest podobna do Stevena, ale próbowałem użyć pomysłu tego komentarza, ale inaczej, ponieważ wciąż zajmuje
0
/1
tablice, a nie0
/-1
. Nie ma golenia bajtowego przy użyciu0
/-1
, więc bądźmy rozsądni. Zauważ, że to nie konkuruje, dopóki Steven lub Lynn nie pozwolą mi skorzystać z tego pomysłu. Jeśli tak, to może usunąć niekonkurującymi ślad. Pamiętaj, że ten kod nie może zostać bezwstydnie skradziony, nadal istnieje. Tylko Steven może użyć go do swojej odpowiedzi.źródło
Rubinowy, 14 bajtów
Funkcja anonimowa:
Sprawdź to:
źródło