Хороший простой
вход
Учитывая логический массив (или приемлемую альтернативу), вы можете предположить, что массив никогда не будет длиннее 32 элементов.
[false, false, true, false, false]
Выход
Инвертировать каждый элемент массива и вывести его.
[true, true, false, true, true]
правила
- Вы можете написать полную программу или просто функцию
- Применяются стандартные лазейки
- Самый короткий код в байтах для каждого языка выигрывает!
Контрольные примеры
Input:
[true, false]
Output:
[false, true]
Input: //Example of acceptable alternative
[0,1,1]
Output:
[1,0,0]
code-golf
array-manipulation
logic
Шон Уайлд
источник
источник
0
(false, все 0 бит) и-1
(true, все 1 бит)?Ответы:
05AB1E , 1 байт
Код:
Объяснение:
Попробуйте онлайн!
источник
Желе , 1 байт
Попробуйте онлайн!
¬
логически НЕ (1, если false-y, иначе 0).C
(«Дополнение», 1-z ) также работает.источник
Javascript ES6, 15 байт
Думаю, не нужно много объяснений
источник
Matlab,
41 байтЭто должно быть само за себя.
Matlab имеет однобайтовый оператор отрицания
~
, если вам нужна функция, которую вы можете использовать@not
.источник
@
ругмент,n
egateo
,t
utput, erminate, верно?~
, это правильный ответ, так как это оператор, который получает аргумент. Я думаю, что~[1,0,0,1,0]
это вполне уместно.Haskell, 7 байтов
Пример:
источник
not<$>
, но это недопустимое выражение; ты не можешь написатьf = not<$>
и тогдаf [False, True, True]
; операторным слайсам нужны круглые скобки вокруг них, что будет способствовать подсчету байтов.MATL , 1 байт
Попробуйте онлайн!
~
является логическим не так, как многие функции, он также может быть применен к массивам / матриц.источник
C, 46 байт, рекурсивная версия
C, 47-байтовая итерационная версия
Запустите, используя эту основную функцию
и ввод, как это
источник
R, 1 байт
Пример:
Это также работает с числовым вводом:
Мы не ограничены одномерными массивами. Давайте сделаем матрицу и случайным образом заполним ее нулями и единицами:
Мы можем инвертировать это так же легко:
Мы можем продолжать делать это для произвольного числа измерений. Вот пример для четырехмерного массива:
Боюсь, не работает с персонажами.
источник
Perl 6 , 4 байта
"Французский" / Unicode версия:
"Техас" / ASCII версия:
Ввод - это одно значение, которое можно рассматривать как список.
Это все лямбда (
*
) с логическим не префиксным оператором (!
), объединенным с использованием префиксного гипероператора («
) .Фактически это так же, как:
Использование:
источник
{!«@_}
:)!**
должно работать тожеЛабиринт , 9 байт
Попробуйте онлайн! Предполагается разделенный новой строкой ввод с завершающей новой строкой. Спасибо @MartinEnder за помощь в игре в гольф.
Эта программа немного странная для программы Лабиринт - она не использует двумерную природу языка и фактически отскакивает назад и вперед. В первой поездке вперед у нас есть:
В следующем случае
$
XOR объединяет существующий 0 в стекеc
, в отличие от неявного 0 в нижней части стека, как при первом запуске. Обе ситуации покидают стек как[c]
, и программа повторяется после этого.Альтернатива 9 байтов:
источник
:)
Mathematica, 7 байтов
или без букв:
Что касается синтаксического сахара:
&
помечает правый конец неназванной функции и имеет очень низкий приоритет.#
относится к первому аргументу ближайшего и включающего&
.!
является оператором дляNot
. Так что!#&
это просто безымянная функция, которая отрицает свой аргумент, другими словами, она идентична встроеннойNot
./@
является оператором дляMap
. Таким образом, код также будет эквивалентен более читабельномуMap[Not, #]&
.источник
!#&/@#&
я должен это читать? :)Not
это не в спискеPython,
272524 байтаСпасибо Линн за игру в гольф на два байта, и xnor и Мего за игру в гольф от другого.
источник
0
/1
, и они1-b
короче, чемnot b
. Я спросил ОП , разрешены ли массивы0
/-1
, в этом случае~b
еще короче.for
можно было бы отбросить.1for
это будет проанализировано как два отдельных токена. Да, пока.C #, 19 байт
как анонимная функция, принимает bool [] и возвращает IEnumerable
или в 36 байтах с
источник
IBM / Lotus Notes Formula, 2 байта
Использование:
Создайте форму Notes с двумя полями с именами a и b.
a (ввод) = редактируемый, число, многозначный, разделенный запятыми
b (вывод) = вычислено, число, многозначное значение, через запятую
Вставьте приведенную выше формулу в b и установите значение по умолчанию 0.
Создайте новый документ с формой, введите двоичный список в и нажмите F9, чтобы обновить вывод.
Примеры:
Работает, потому что, учитывая список в качестве входных данных, формула Notes будет применять любое указанное действие к каждому элементу в списке.
источник
J, 2 байта
Это глагол отрицания.
Прецедент
источник
Swift 3 (7 байт)
например
объяснение
Кажется довольно очевидным. Звонит
map
по массиву[true, false]
. Единственная «ошибка» в том, что в Swift операторы являются просто функциями и могут передаваться в качестве аргументов. Это означаетmap(!)
передачу функции «не»!
вmap
.источник
Язык программирования Шекспира , 240 байт
Принимает ввод в виде строки
\0
и\1
управляющих символов. Выводится в виде строки0
или1
. Если вход должен быть таким же , как выход, заменитьOpen thy heart
сSpeak thy mind
для каких - либо изменений в ByteCount. Если\0
и\1
не может быть использована, сделать выше, но и заменитьOpen your mind
сListen to thy heart
на 5-байтовый штраф.Ungolfed:
Это примерно переводит в следующий псевдокод C:
Я использую этот переводчик . Образец прогона:
источник
JAISBaL , 1 байт
Как и все другие однобайтовые ответы, это оператор отрицания, который может работать с массивом при необходимости. Это оставляет вывод в стеке, который печатается в конце программы.
Для двух байтов массив может быть явно напечатан:
Входные данные находятся в невероятно странном формате массива JAISBaL (который я придумал, но мне это не нравится ...).
Тестовые случаи (Вывод из интерпретатора Java, 3.0.5):
источник
PowerShell, 15 байт
Я думаю, что это может даже работать в v1, поэтому я оставил номер версии от названия. Перебирает ввод
$args
и отменяет каждый элемент по очереди. Этот результирующий массив остается на конвейере.Однако стоит отметить, что PowerShell настолько не отвечает требованиям к кастингу, что вы можете сделать полностью смешанный ввод и получить соответствующий логический вывод. Например, здесь представлены буквенные логические значения
$false
/$true
, числа0
1
и числа123456789
как целые, пустая строка, непустая строка, пустой массив и непустой массив -источник
Perl, 7 байт
Включает +2 для
-lp
Присвойте каждому логическому значению значение 0 или 1 в отдельной строке
invert.pl
:источник
Брахилог , 7 байт
Попробуйте онлайн!
объяснение
источник
Чеддер, 10 байт
Надеюсь, я считал правильно, когда я пишу с телефона
источник
fn.vec((!))
если это когда-либо было выпущено: PJava, 58 байт
источник
arr
наa
(экономит 4 байта), пишитеint[]a
вместоint a[]
(сохраняет 1 байт),брейкфук (58 байт)
Попробуй здесь
Ungolfed
Принимает ввод неделимых 1 или 0 (11001).
источник
Логикод ,
98 байтПросто, правда.
Принимает ввод в виде двоичной строки, так как Logicode не поддерживает списки (так
[true, false]
будет10
).out
Выводит результат в линии.Команда
!
вычисляет НЕ для каждого бита в строке, поэтому что-то вроде!111
бы будет000
.Это
binp
двоичный вход.1 байт сохранен благодаря @daHugLenny
источник
out
и!binp
.CJam , 4 байта
Вход представляет собой список
0
s и1
s.Попробуйте онлайн!
источник
Japt, 3 байта
Japt не имеет логического ввода, поэтому input представляет собой массив из 0 и 1. Проверьте это онлайн!
Как это устроено
источник
Сетчатка , 3 байта
Попробуйте онлайн!
Для каждой строки (
%
) посчитайте количество0
s.источник
Python 2, 24 байта (не конкурирующий)
Логика похожа на Стивена, но я попытался использовать идею этого комментария, но отличается, потому что она все еще принимает
0
/1
массивы, а не0
/-1
. Для использования0
/ нет байтового бритья-1
, так что давайте будем в здравом уме. Обратите внимание, что это не конкурирует, пока Стивен или Линн не позволят мне использовать эту идею. Если так, я мог бы удалить неконкурентный знак. Обратите внимание, что этот код не может быть бесстыдно украден, он все еще здесь. Только Стивен может использовать это для своего ответа.источник
Рубин, 14 байтов
Анонимная функция:
Проверь это:
источник