Це парне чи дивне?


65

Примітка. Проблема тесту на ванільність на парність ще не була (є C / C ++, але це вимикає можливість використання мов, відмінних від C / C ++, та інші, які не ванільні, також закриті), тож я публікую повідомлення один.

Враховуючи додатне ціле число, виведіть його паритет (тобто якщо число непарне або парне) у значеннях truthy / false. Ви можете вибрати, чи відповідатимуть прості результати чи непарні чи неточні дані.


Приклади

Припускаючи, що True / False є парними та непарними (Це не потрібно, ви можете використовувати інші значення Truthy / Falsy для кожного), чуйно:

(Input):(Output)
1:False
2:True
16384:True
99999999:False

Таблиця лідерів


2
Це не перший раз, коли я плутав математичний з обчислювальним паритетом ... це все-таки код сайту!
Ніл

Оскільки це в значній мірі одне з цих ( 1 , 2 , 3 ) питань, напевно, він повинен мати фрагмент, щоб побачити всі відповіді.
fəˈnɛtɪk

4
@MikeBufardeci Тому що "каталог" написано по-різному, залежно від країни, з якої ви є. Для тих, хто з нас у США, це "каталог". «Таблиця лідерів» є інваріантною культурою.
mbomb007

2
@tuskiomi Виклик запитує лише про додатні цілі числа. (0 вважається рівним, але не позитивним)
Захоплення Кальвіна

3
@LucioCrusca Ласкаво просимо до PPCG! Основна ідея Code Golf - зробити програму в найкоротшій формі, яку ви можете. Ця задача полягає в тому, щоб прочитати ціле число (додатне, не нульове) та вивести його, якщо воно є парним чи непарним. Якщо вас щось бентежить, відвідайте дев'ятнадцятий байт і запитайте вільно. Або якщо вас плутають з політикою або правилами сайту, перейдіть до Meta . Нарешті, Дякуємо, що підписалися на нашу спільноту!
Меттью Ро

Відповіді:


112

ArnoldC , 299 283 байт

IT'S SHOWTIME
HEY CHRISTMAS TREE i
YOU SET US UP 0
GET YOUR ASS TO MARS i
DO IT NOW
I WANT TO ASK YOU A BUNCH OF QUESTIONS AND I WANT TO HAVE THEM ANSWERED IMMEDIATELY
GET TO THE CHOPPER i
HERE IS MY INVITATION i
I LET HIM GO 2
ENOUGH TALK
TALK TO THE HAND i
YOU HAVE BEEN TERMINATED

Це виводить 1(що є правдою) для непарного введення та 0(що хибне) для парного введення.

Спробуйте в Інтернеті!

" Тепер це план " (спроба пояснення)

Код зчитує вхід у змінну i, замінює її результатом за модулем 2, а потім друкує його.

IT'S SHOWTIME                                    # BeginMain
HEY CHRISTMAS TREE i                             #   Declare i
YOU SET US UP 0                                  #   SetInitialValue 0
GET YOUR ASS TO MARS i                           #   AssignVariableFromMethodCall i
DO IT NOW                                        #   CallMethod
I WANT TO ASK YOU ... ANSWERED IMMEDIATELY       #   ReadInteger
GET TO THE CHOPPER i                             #   AssignVariable i
HERE IS MY INVITATION i                          #     SetValue i (push i on the stack)
I LET HIM GO 2                                   #     ModuloOperator 2
ENOUGH TALK                                      #   EndAssignVariable
TALK TO THE HAND i                               #   Print i
YOU HAVE BEEN TERMINATED                         # EndMain

27
Моя перша відповідь ArnoldC!
Луїс Мендо

16
BULLSHIT YOU HAVE NO RESPECT FOR LOGIC GET TO THE CHOPPER
Чарівний восьминога Урна

17
GET YOUR ASS TO MARS... У мене немає слів.
Метью Рох

12
Я приєднався до цієї спільноти, щоб підтримати це. Молодці, сер
Ерік

2
Я приєднався до цієї спільноти, щоб також підтримати цю посаду. :)
Vada Poché

46

мозковий ебать , 8 байт

+[,>,]<.

Введення не одинакове. Вихід - це 1 (truthy) для непарних чисел та NUL (false) для парних чисел.

Спробуйте в Інтернеті!

Як це працює

Почнемо з збільшення поточної комірки, +щоб мати можливість входити в цикл while [,>,].

У кожній ітерації ,зчитується байт зі STDIN, >просувається до комірки праворуч, потім ,читає інший байт зі STDIN. Коли вхід буде вичерпано, інтерпретатор (той, що знаходиться в TIO, у будь-якому випадку) встановить замість комірки NUL . Як тільки це станеться, умова циклу while вже не виконується, і ми вириваємося з неї.

Нехай n - вхідне ціле число. Якщо є рівномірна кількість вхідних байтів - тобто, якщо n є парним - перші n / 2 ітерації будуть читати два 1 -і, а наступна ітерація - два NUL -х, залишаючи стрічку наступним чином.

...   1  NUL  NUL
...  49    0    0
                ^

<.відновлює одну клітинку і друкує її вміст, надсилаючи байт NUL до STDOUT.

Однак, якщо є непарна кількість вхідних байтів, перша (n - 1) / 2 ітерації буде читати два 1 's, а наступна ітерація буде читати один 1 і один NUL , залишаючи стрічку наступним чином.

...   1    1  NUL
...  49   49    0
                ^

<тепер буде відновлюватись до комірки, що містить байт / символ 1 , який .друкує.


34

Математика, 4 байти

OddQ

Дає Trueдля непарних входів і Falseдля парних входів, хто знав?

Є також EvenQ, але хто б хотів усе це набрати?


22
О ні. знову вбудовані.
Меттью Ро

7
@SIGSEGV Це математика для тебе. ;)
Кевін Круїссен

6
2∣#&працює також
Келлі Лоудер

1
@KellyLowder правда, але це 6 байт.
Мартін Ендер

Чому назва закінчується на а Q?
Cyoce

26

Таксі , 1482 1,290 1,063 1,029 1,009 байт

Я ніколи раніше не писав програми в таксі, і я взагалі новачок у програмуванні, тому, мабуть, є кращі способи зробити це. Я перевірив на помилки і встиг трохи пограти в нього, спробувавши різні маршрути, які мають однаковий результат. Я вітаю будь-яку редакцію.

Повертається 0для парних і 1непарних.

Go to Post Office:w 1 l 1 r 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:s 1 l 1 r.Pickup a passenger going to Divide and Conquer.2 is waiting at Starchild Numerology.Go to Starchild Numerology:n 1 l 1 l 1 l 2 l.Pickup a passenger going to Divide and Conquer.Go to Divide and Conquer:e 1 l 2 r 3 r 2 r 1 r.Pickup a passenger going to Cyclone.Go to Cyclone:e 1 l 1 l 2 l.Pickup a passenger going to Trunkers.Pickup a passenger going to Equal's Corner.Go to Trunkers:s 1 l.Pickup a passenger going to Equal's Corner.Go to Equal's Corner:w 1 l.Switch to plan "b" if no one is waiting.Pickup a passenger going to Knots Landing.Go to Knots Landing:n 4 r 1 r 2 r 1 l.[a]Pickup a passenger going to The Babelfishery.Go to The Babelfishery:w 1 l.Pickup a passenger going to Post Office.Go to Post Office:n 1 l 1 r.[b]0 is waiting at Starchild Numerology.Go to Starchild Numerology:n 1 r.Pickup a passenger going to Knots Landing.Go to Knots Landing:w 1 r 2 r 1 r 2 l 5 r.Switch to plan "a".

Спробуйте в Інтернеті!

Ти маєш рацію, це жахливо читати без розривів рядків. Ось відформатована версія:

Go to Post Office:w 1 l 1 r 1 l.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery:s 1 l 1 r.
Pickup a passenger going to Divide and Conquer.
2 is waiting at Starchild Numerology.
Go to Starchild Numerology:n 1 l 1 l 1 l 2 l.
Pickup a passenger going to Divide and Conquer.
Go to Divide and Conquer:e 1 l 2 r 3 r 2 r 1 r.
Pickup a passenger going to Cyclone.
Go to Cyclone:e 1 l 1 l 2 l.
Pickup a passenger going to Trunkers.
Pickup a passenger going to Equal's Corner.
Go to Trunkers:s 1 l.
Pickup a passenger going to Equal's Corner.
Go to Equal's Corner:w 1 l.
Switch to plan "b" if no one is waiting.
Pickup a passenger going to Knots Landing.
Go to Knots Landing:n 4 r 1 r 2 r 1 l.
[a]Pickup a passenger going to The Babelfishery.
Go to The Babelfishery:w 1 l.
Pickup a passenger going to Post Office.
Go to Post Office:n 1 l 1 r.
[b]0 is waiting at Starchild Numerology.
Go to Starchild Numerology:n 1 r.
Pickup a passenger going to Knots Landing.
Go to Knots Landing:w 1 r 2 r 1 r 2 l 5 r.
Switch to plan "a".

Ось моя найкраща спроба пояснити логіку:

Go to Post Office to pick up the stdin value in a string format.
Go to The Babelfishery to convert the string to a number.
Go to Starchild Numerology to pickup the numerical input 2.
Go to Divide and Conquer to divide the two passengers (stdin & 2).
Go to Cyclone to create a copy of the result.
Go to Trunkers to truncate the original to an integer.
Go to Equal's Corner to see if the two passengers are the same.
Equal's Corner returns the first passenger if they're the same (no .5 removal so the stdin was even) or nothing if they're not.
If nothing was returned, it was odd, so go pick up a 0 from Starchild Numerology.
Go to Knots Landing to convert any 0s to 1s and all other numbers to 0s.
Go to The Babelfishery to convert the passenger (either a 1 or 0 at this point) to a string.
Go to Post Office to print that string.
Try and fail to go to Starchild Numerology because the directions are wrong so the program terminates.

Якщо не повернутися до гаража таксі, це призводить до STDERR, але я з цим добре .


7
Я завжди дізнався, що
гото

2
Мова не тільки вимагає широкого використання переходу, єдиний метод розгалуження - це використання планів, які є просто іншою назвою goto.
Інженер Тост

23

Сітківка , 8 байт

[02468]$

Відповідь Retina для десяткового введення. Це також звичайне рішення для регулярного виведення, яке працює практично в будь-якому ароматі регексу. Збіги (і відбитки 1) для парних входів і не відповідають (і відбитки 0) для непарних входів.

Спробуйте в Інтернеті!

Альтернативно, також для 8 байт, використовується етап транслітерації, щоб перетворити xспочатку всі парні цифри (оскільки етапи транслітерації мають вбудовані парні / непарні цифри):

T`E`x
x$

Звичайно, найкоротший формат введення (навіть коротший, ніж одинарний ) був би в цьому випадку двійковим, де достатньо простого регулярного вираження 0$. Але оскільки виклик по суті полягає у пошуку бінарної цифри з найменшим знаком, бінарний вхід, здається, обходить фактичну проблему.


1
+1 для "TeX". Змушує мене бачити відповідь LaTeX ...
Бреван Еллефсен

@Richard І отже, це неправдивий вклад, з яким потрібно обробляти. (Хоча це насправді означає, що в будь-якому випадку це правильно поводиться.)
Мартін Ендер


20

LOLCODE, 67 байт

HOW DUZ I C YR N
  VISIBLE BOTH SAEM MOD OF N AN 2 AN 0
IF U SAY SO

Функція, яка повертає WIN(true), якщо число парне, інакше (непарне) воно повернеться FAIL(false).

Подзвоніть з C"123".


20

MATL , 5 3 байти

Тому що вбудовані нудні

:He

Це виводить матрицю ненульових значень (що є тривалістю) для парного введення, а матрицю з нулем у нижньому правому введенні (що є помилковим) для непарного введення.

Спробуйте в Інтернеті! Код нижнього колонтитулу - цеif-elseгалузь для ілюстрації правдивості або помилковості результату. Видалення цього колонтитулу неявно відобразить матрицю.

Пояснення

Розглянемо вклад 5як приклад

:     % Implicitly input n. Push row vector [1 2 ... n]
      % STACK: [1 2 3 4 5]
He    % Reshape into a 2-row matrix, padding with zeros if needed
      % STACK: [1 3 5;
                2 4 0]

7
. Вбудовані команди нудні 'HeAA, HeAA, HeAA (Шкода , що був поганий каламбур)
Метью Roh

3
@SIGSEGV HeHeHe
Луїс Мендо

2
Розумний підхід! :)
Стюі Гріффін

17

Java 8, 8 байт

n->n%2<1

Спробуйте тут.

Java 7, 30 байт

Object c(int n){return n%2<1;}

Спробуйте тут.

Виходи trueдля парних чисел і falseдля непарних чисел


Якщо 1/0буде дозволено замість true/false( це не так, враховуючи кількість голосів тут ):

  • Java 8 (6 байт): n->n%2
  • Java 7 (25 байт): int c(int n){return n%2;}

22
Де всі смішні багатослівні Java-речі? Я вважаю, що це щонайменше 50 байт занадто коротко ...
Стюі Гріффін

2
Колись там був тег під назвою " тролінг коду" . Але це один є дуже хорошим загальноприйнятим Java-відповідь і тут є код-гольф відповідь. І ще кілька .
Стюі Гріффін

2
@lukeg Привіт, за замовчуванням - це програма чи функція , якщо виклик не визначає іншого. Це означає, що такі мови, як Java та C #, можуть розміщувати лише функцію (та необхідний імпорт) замість усього класу. Якщо запитуючий запитувач спеціально запитав би програму, я дійсно повинен включати код кордону на зразок класу / інтерфейсу та основного методу.
Кевін Кройсейсен

1
@lukeg Якщо ви хочете почати відповідати на виклики самостійно, ось кілька порад щодо гольфу на Java, які можуть бути цікавими для прочитання. Ласкаво просимо до PPCG! :)
Кевін Круїссен

6
@StewieGriffin Там ви йдете! int o(int n){return java.util.stream.IntStream.of(n).map(n->n%2).filter(n==0).fi‌​ndAny().isPresent();‌​}
Олів'є Грегоар

16

Піт, 15 коделів / 16 байт

Source Code

5njaampjhompppam

Онлайн перекладач доступний тут.

Ця програма повертає 0, якщо вхід парний і 1, якщо вхід непарний.

Текст, поданий вище, представляє зображення. Можна створити зображення, вставивши його у текстове поле на сторінці перекладача. Для зручності я надав зображення нижче, де розмір кодела - 31 піксель. Сітка існує для читабельності і не є частиною програми.

Пояснення

Ця програма використовує вбудований модуль, щоб визначити, чи вхід парний чи непарний.

Instruction    Δ Hue   Δ Lightness   Stack
------------   -----   -----------   -------
In (Number)    4       2             n
Push [2]       0       1             2, n
Modulo         2       1             n % 2
Out (Number)   5       1             [Empty]
[Exit]         [N/A]   [N/A]         [Empty]

Темно-сині коделі в нижній лівій частині ніколи не відвідуються і можуть бути змінені на будь-який колір, окрім кольору сусіднього кодексу. Я вибрав темно-синій колір, оскільки я думаю, що це добре виглядає з рештою програми. Чорний лівий верхній кодекс також може бути білим, але не будь-якого іншого кольору. Я вибрав чорний колір, оскільки думаю, що це виглядає приємніше.

Я надав програму як у формі зображення, так і в текстовій формі, оскільки немає чіткого консенсусу щодо того, як оцінювати програми Піт. Ви можете зважитися на мета-дискусію.



14

JavaScript, 6 байт

Анонімна функція:

n=>n&1

Як однакова довжина:

n=>n%2

Обидва повернуть, 0|1що повинно відповідати вимозі truthy|falseyцінностей.

Спробуйте обидві версії в Інтернеті


Відповідно до відповіді Java, це не відповідає вимогам. Чи відрізняється JavaScript в цьому плані?
TheLethalCoder

4
У запитанні чітко зазначено: " Це не потрібно. Ви можете використовувати інші значення Truthy / Falsy ", які 0|1є, правда? @TheLethalCoder
insertusernamehere

1
Я не впевнений, чи є вони в JavaScript, про що я питав, дивіться мета q / a, щоб побачити, чи є вони. Я недостатньо знайомий у JavaScript, щоб знати.
TheLethalCoder

4
JavaScript набагато легше набирається, ніж Java. З радістю ставляться майже до всього, як до будь-якого типу. Зокрема, з радістю поводиться з floats як з булевими (тоді як Java викине помилку під час компіляції, якщо ви це зробите). (До речі, ви, можливо, не хочете знати, чому це повертає float, а не ціле число.)

1
Добре :) Я не був досить знайомий, щоб знати себе, тому просто цікавився.
TheLethalCoder

12

Japt , 1 байт

v

Повертає 1парні числа 0для непарних.

Спробуйте в Інтернеті!

Пояснення

Однією з визначальних особливостей Джапта є те, що на відміну від більшості мов для гольфу, функції не мають фіксованої арності; тобто будь-яка функція може приймати будь-яку кількість аргументів. Це означає, що ви можете іноді залишати аргументи, і Japt здогадається, що вам потрібно. von numbers - це функція, яка приймає один аргумент і повертається, 1якщо число ділиться на аргумент, інакше 0. Наприклад:

v3

Ця програма виведе, 1якщо вхід ділиться на 3, 0інакше. Так буває, що аргумент за замовчуванням є 2, тим самим вирішуючи цю задачу в одному байті.


Альтернативне рішення 1 байту:

¢

¢перетворює вхід у рядок base-2. -hПрапор повертає останній символ з рядка.

Спробуйте в Інтернеті!


11

мозковий ебать , 12 байт

,++[>++]>++.

Для цього потрібен перекладач з круговою стрічкою та комірки, які обгортаються. У TIO в 65,536 8-бітних комірок і відповідає вимогам.

Введення / виведення знаходиться в байтах. Непарні входи відображаються на 0x00 (фальшиві), парні входи до ненульового байта (truthy).

Спробуйте в Інтернеті!

Як це працює

Почнемо з читання байта вводу з ,і додавання 2 до його значення за допомогою ++. Пізніше ми побачимо, чому потрібно нарощування.

Далі ми вводимо цикл, який рухається до комірки праворуч, додаємо до неї 2 та повторюємо процес, якщо для цього значення комірки не встановлено на 0 .

Спочатку всі комірки, крім вхідної комірки, містять 0 . Якщо вхід непарний, додавання 2 до нього ніколи не занулює його. Однак після петлі навколо стрічки 127 разів наступна ітерація циклу встановить комірку праворуч від вхідної комірки на 128 × 2 = 0 (мод 256) , що призведе до завершення циклу. >++повторює тіло циклу ще раз, тому наступна комірка також обнуляється на нуль і потім друкується разом із ..

З іншого боку, якщо вхід n і n парне, код перед циклом встановлює вхідну комірку n + 2 . Після обмотування навколо стрічки (256 - (n - 2)) / 2 = (254 - n) / 2 рази вхідна комірка досягне 0 , а комірка праворуч утримуватиме значення (254 - n) / 2 × 2 = 254 - n . Після додавання 2 з >++, .буде надруковано 256 - n = -n (mod 256) , що є не нульовим, оскільки n є ненульовим.

Нарешті, зауважте, що другий випадок надрукував би 258 - n = 2 - n (mod n), якби ми не збільшували вхід до циклу, оскільки потрібен ще один цикл навколо стрічки, щоб нульову комірку ввести. Таким чином, програма не зможе ввести 2 .


11

Sinclair ZX81 BASIC 124 байт 114 байт 109 байт 57 50 токенізованих байків BASIC

Відповідно до коментарів Adám, поданих нижче, ось останній кандидат на випуск:

 1 INPUT A
 2 IF NOT A THEN STOP
 3 PRINT A;":";NOT INT A-(INT (INT A/VAL "2")*VAL "2")

Це буде тепер PRINT 1для рівних і0 незвичайних. Нульові виходи.

Ось більш старі версії символічного списку для довідкових цілей:

 1 INPUT A
 2 IF NOT A THEN STOP
 3 LET B=INT (INT A/2)
 4 PRINT A;":";NOT INT A-B*2
 5 RUN

Ось старий (v0.01) перелік, щоб ви могли побачити вдосконалення, які я вніс як не тільки цей новий список менший, але і швидший:

 1 INPUT A
 2 IF A<1 THEN STOP
 3 LET B=INT (INT A/2)
 4 LET M=1+INT A-B*2
 5 PRINT A;":";
 6 GOSUB M*10
 7 RUN
10 PRINT "TRUE"
11 RETURN
20 PRINT "FALSE"
21 RETURN

І ось v0.02 (з використанням підрядків Sinclair):

 1 INPUT A
 2 IF NOT A THEN STOP
 3 LET B=INT (INT A/2)
 4 LET M=1+INT A-B*2
 5 LET C=4*(M=2)
 6 PRINT A;":";"TRUE FALSE"(M+C TO 5+C+(M=2))
 7 RUN

ZX81 in action - true or false from v1/2


1
Це не колгогоров-складність . Вам просто потрібно повернути 0 або 1 для будь-якого даного вводу.
Адам

Питання виглядає так, як воно було відредаговане, оскільки я зробив свій початковий запис, оскільки він читав </i> як істинне / хибне, що потрібно повернути. Як такий, я можу далі спростити символічний перелік.
Shaun Bebbers

1
Для чого потрібно вийти на нуль? Хіба ти просто не можеш PRINT (A-2*INT A/2)/A?
Adám

У первісному запитанні, яке було корисно відредаговано, воно вказало, що значення 0не повинно створювати TRUEабо FALSE, отже, як 0і не повинно було дати результат, тоді я мав його STOPпінг програми. Я, мабуть, інтерпретував оригінальне запитання, оскільки його опублікував @SIGSEGV трохи занадто буквально. Так, можна оптимізувати і рефактор, ви праві.
Shaun Bebbers

10

05AB1E , 1 байт

È

Досить самостійно пояснюючи. Повертаєтьсяa % 2 == 0

Спробуйте в Інтернеті!


Éє кращим вибором, на мою особисту думку; жартує.
Чарівний восьминога Урна

7
Я припускаю Éприбутки a % 2 == 1.
SIGSTACKFAULT

1
Це зрозуміло лише, якщо ви вже знаєте оператора
MilkyWay90,

8

Сітківка, 3 байти

11

Новий рядок є важливим. Здійснює введення в одинаковому режимі. Виходи 1 для непарних чисел, нічого для парних чисел. Спробуйте в Інтернеті!


Ви знаєте, ви можете просто скопіювати повну відповідь (з необхідним форматуванням для зворотного каналу) з TIO.
Мартін Ендер

@MartinEnder Ні, я не знав.
Ніл

Це другий за останнім фрагмент, коли ви генеруєте постійну посилання.
Мартін Ендер

О, це цілий фрагмент? Я просто бачу рядок заголовка.
Ніл

@Neil, якщо натиснути на фрагмент, він розширить його, і ви побачите тіло
Dada

8

C ++, 25 байт

template<int v>int o=v&1;

Це визначає шаблон змінної ( конструкція, що нагадує функцію ) зі значенням, рівним бітовій операції input&1. 0для парних значень, 1для непарних значень. Значення обчислюється за часом компіляції.

Потрібен C ++ 14.

Спробуйте в Інтернеті!


Вау, це здається дійсно розумним. Я ніколи раніше не бачив такої відповіді! Як ви це називаєте?
DJMcMayhem

@DJMcMayhem Це просте використання шаблонів змінних C ++ 14 . Однак це не все розумно: Проста функція aproach ( int o(int v){return v&1;}) займе стільки ж байтів, з тією різницею, що значення буде обчислено під час виконання.
Кассіо Ренан

Я не думаю, що це насправді кваліфікується, оскільки код просто буде зібраний у повернення 1 або повернення 0. Запуск одного і того ж скомпільованого коду ніколи не дасть іншого результату, таким чином це не є функцією. Ближче до постійної.
П’яний кодекс мавпи

@DrunkenCodeMonkey час оцінки не має значення. Що важливо, це те, що я можу передавати аргументи конструкції (надавати введення даних), і це дасть результати (повернення виводу). З вашої точки зору, жодна функція не може бути кваліфікованою, оскільки без main()конструкції -подобної програми програма також буде просто скомпільована до амплітуди return 0або взагалі не зможе компілюватись. Це суперечить мета-посту, до якого я посилався у цій відповіді.
Кассіо Ренан

1
Функція лямбда C ++ заощаджує 3 байти. [](int x){return x%2;} Спробуйте в Інтернеті
Йохан дю Тойт

8

Pyth, 3 2 байти

Я зробив це. Я пограв у гольф нерозбірливого. Колись, це нетривіальне рішення, якому вдалося отримати останній байт!

!F

Truthy за парними значеннями (не враховуючи 0, але це не є позитивним, тому ...).

Пояснення:

!    Not
 FQQ Applied to the input (first Q) Q times

Наприклад !!2 = !0 = 1, і!!!3 = !!0 = !1 = 0

Я зберігаю свою бібліотеку з 3-байтними рішеннями нижче.

"Є ще одна відповідь з декількома 3-байтовими рішеннями, але це ще далеко не завершено. Додамо ще пару:

@U2

Індексує до списку [0,1]модульно, надаючи правдиві значення на непарному введенні.

}2P

2 в основній факторизації вхідних даних? (Трута на рівних)

ti2

Чи GCD 2 і вхід 2? (Трута на рівних)

gx1

XOR-ing введення з 1 не зменшує його? (Трута на рівних)

q_F

В основному, Q == Q*-1^Qде Q - вхід, але робиться через цикл. (Трута на рівних)

_FI

Так само, як вище.

g^_

Перекладається на Q <= -Q^Q(Truthy на рівних)

Зауважте, що будь-яке з перерахованих вище рішень, що стосуються, gбуде працювати <для перевернутої правдивості)


1
Так, це досить розумно :)
Digital Trauma

7

C #, 8 байт

n=>n%2<1

Компілює до а Func<int, bool>.

Або якщо анонімну функцію заборонено, це метод на 21 байт:

bool p(int n)=>n%2<1;

@obarakon Не в C #, див. цю відповідь на мета . В основному if (1)не складається.
TheLethalCoder

немає if (1)у вашому коді?
ВИ

1
@YOU Правильно, прочитайте мета-пост, щоб зрозуміти, що я мав на увазі під цим.
TheLethalCoder

2
@YOU, прийняте визначення (на цьому веб-сайті) значення truthy / falsey таке: Якщо if (x)оцінено як true, то xце значення truthy. Якщо вона оцінюється як хибна, то це false. Так, в псевдокоді: if x, disp(true), else disp(false). Якщо це не вдалося компілювати, то xйого не можна використовувати. У MATLAB та кількох інших мовах все, що не є нульовим, вважається істинним, тоді як 0і falseвважається помилковим. Таким чином, рядок Hello- це істинне значення в MATLAB. Однак деякі мови вимагають, щоб значення було булевим значенням (випадок тут), тому воно повинно бути перетворене в булеве, використовуючи <1.
Стюі Гріффін

Я бачу. дякую за пояснення.
ВИ


7

TIS-100, 39 байт

Звичайно, це, точніше, програма для архітектури вузла T21 Basic Execution, як емульована емулятором TIS-100.

Я наведу вас до цієї відповіді для фантастично поглибленого пояснення балів для програм TIS-100, а також їх структури.

@0
ADD UP
G:SUB 2
JGZ G
MOV ACC ANY

Пояснення:

@0          # Indicates that this is node 0
ADD UP      # Gets input and adds it to ACC, the only addressable register in a T-21
G:          # Defines a label called "G"
SUB 2       # Subtracts 2 from ACC
JGZ G       # If ACC is greater than 0, jumps to G
MOV ACC ANY # Sends the value of ACC to the first available neighbor; in this case, output.
            # Implicitly jumps back to the first line

У псевдокоді це виглядатиме приблизно так:

while (true) {
    acc = getIntInput()
    do {
        acc -= 2
    } while (acc > 0)
    print(acc)
}

У T21 немає булевих типів або правдоподібних / хибних значень, тому програма повертає -1 для непарних чисел і 0 для парних чисел, якщо попередній вхід не був непарним; у цьому випадку він повертає -1 для парних чисел і 0 для непарних чисел цифри - якщо цей факт вас заважає, це відповідь на повну програму, тому ви можете просто перезапустити свій T21 між використанням.


Я тільки думав про TIS-100, головоломку Zachtronics, оскільки я хотів її придбати минулого тижня. Чи TIS також є власне мовою, чи вона існує лише у цій відеоігри?
seshoumara

@seshoumara Наскільки мені відомо, він існує лише в грі. Вся архітектура машин у TIS начебто типова, і ця мова в монтажному стилі підключається до цього.
steenbergh

Я можу підтвердити, він існує лише в грі (а насправді навіть у Всесвіті це дивна і химерна архітектура). Я написав відповідь, яку Туртлман пов’язав так, ніби існували справжні пристрої TIS, але я це робив лише в характері для задоволення.
підземниймонорельс

2
@Blacksilver Справжньою проблемою, я думаю, було б зробити відповідь Spacechem!
Тутлеман

1
Я впровадив TIS-емулятор для TIO, тому тепер ви можете спробувати його в Інтернеті!
Фларкс

6

Желе , 1 байт

Спробуйте в Інтернеті!

Просто ще один вбудований.

Для людей, які не знають Jelly: вона має досить багато можливостей зробити висновок про відсутніх бітах коду, тому між фрагментом, функцією та повною програмою не так сильно синтаксична різниця; інтерпретатор автоматично додасть код для введення відповідних аргументів і виводить результат. Це досить зручно при роботі з правилами PPCG, які дозволяють виконувати функції та програми, але забороняють фрагменти. У посиланні TIO я розглядаю це як функцію і запускаю її на кожному цілому числі від 1 до 20 включно, але воно також працює як повноцінна програма.

Желе , 2 байти

&1

Спробуйте в Інтернеті!

Досить короткий і без вбудованого. (Це порозрядно-І з 1.)


2
Усі ці мови здаються чимось чітким для цих питань, хай
П’яний кодекс мавпи

6

7 , 18 символів, 7 байт

177407770236713353

Спробуйте в Інтернеті!

7 не має нічого подібного до нормального, якщо твердження, і має більше ніж один ідіоматичний спосіб представити булеве. Як таке, важко знати, що вважається truthy та falsey, але ця програма використовує 1для непарних і null рядок для парних (значення truthy та falsey для Perl, в яких написано 7 перекладача). (Це досить просто змінити; непарний вихід задається перед першими 7, парний вихід задається між першими двома 7-мами. Однак, можливо, знадобиться зміна формату виводу для обробки інших типів виводу; хоча я використовував два тут найкоротші виразні результати.)

7 використовує стиснене восьмеричне кодування, в якому три байти джерела представляють вісім байтів програми, тому 18 символів джерела представлені в 7 байтах на диску.

Пояснення

177407770236713353
 77  77     7       Separate the initial stack into six pieces (between the 7s)

        023         Output format string for "output integers; input one integer"
       7   6        Escape the format string, so that it's interpreted as is
             13     Suppress implicit looping
               3    Output the format string (produces input)
                5   Run the following code a number of times equal to the input:
   40                 Swap the top two stack elements, escaping the top one
                 3  Output the top stack element

Як і у багатьох вихідних форматах, "цілі числа виводу" скасовує будь-яку кількість рівнів, що проходять, перед виведенням; таким чином 40, які в поєднанні роблять операцію "заміна і втеча", можна використовувати замість 405операції "swap" (яка є "swap-and-escape" з подальшим невидимкою). Якщо ви використовували вихідний формат, який не є стабільним щодо виходу, вам знадобиться повний 405. (Між іншим, причина, з якої нам спочатку потрібно було уникнути рядка формату, полягає в тому, що якщо перший вихід містить символи, що не представлені, він автоматично примушує формат виводу 7. Уникнути його видаляються символи, що не представляються, і дозволяє вибирати формат 0.)

З шести початкових елементів стека найголовніша - це основна програма (і її споживає саме 13це перше, що потрібно запустити); друге - це 023те, що вибирає вихідний формат і запитує введення і споживається цією операцією; третій використовується як побічний ефект 3операції (він використовується для відкидання елементів стека на додаток до отримання результатів); четверте, 40- це тіло циклу (і споживається тим, 5хто виконує цикл); і п'ятий і шостий розміняються місцями кілька разів, рівними вхідному (таким чином, у вихідних положеннях, якщо вхід парний, або в позиціях один одного, якщо вхід непарний).

Ви можете відіграти персонаж, змінивши ведучий 177на 17(і покладаючись на неявний порожній елемент шостого стека), але це змінило би парність результатів на менш ідіоматичний метод, ніж незвичайний істинний, і це не врятує цілий байт (джерело досі має сім байт). Як такий, я вирішив використовувати більш природну форму випуску, оскільки вона не має гіршого результату.


6

Мозок-Флак , 22 20 байт

Ось ще одна класна відповідь у Brain-Flak, яку ви також повинні перевірити

(({})){({}[()]<>)}<>

Спробуйте в Інтернеті!

Пояснення

Для початку ми зробимо копію нашої інформації (({})).

Нижній примірник буде служити триєдним значенням, тоді як верхній буде використовуватися для фактичної обробки. Це робиться тому, що нам потрібно, щоб вхід був у верхній частині, і досить громіздко (два зайвих байти!) Поставити 1 під входом.

Потім починаємо петлю {({}[()]<>)}. Це проста модифікація стандартного циклу зворотного відліку, який перемикає стеки щоразу, коли зменшується.

Оскільки є два стеки, парне число закінчиться у верхній частині стека, на якому воно почалося, тоді як непарне число закінчиться на протилежному стеку. Скопійоване значення залишиться на місці і, таким чином, буде діяти як маркер того, з чого ми почали.

Після того, як ми 0закінчимо цикл, у нас (спочатку вхід) сидить верхнє значення або копія (копія введення), або фальшиве (порожній стек) значення. У нас також є протилежне значення на іншій стеці.

Нам потрібно позбутися того, 0що можна видалити {}або <>. Як здається, обидва працюють і дають протилежні результати, однак {}викликає хибне значення нуля, коли воно повинно повернути правду. Це пояснюється тим, що наше "тримати" значення - це копія введення, а нуль - єдиний вхід, який може бути помилковим.

Ця проблема вирішується, <>замість цього закінчуючи програму .

(Звичайно, згідно специфікації, я технічно не повинен підтримувати нуль, але даю два варіанти, я вважаю за краще підтримувати його)


6

BitCycle , 19 17 16 байт

?ABv
 / \ <
!+ <

Спробуйте в Інтернеті!

Аргу, я відчуваю, що рішення з 18 байтів плаває просто недоступно :( Ха-ха! -2 байти, використовуючи +біти для переадресації, що надходять з різних напрямків.

Все ще відчувається, що в ньому занадто багато пробілів (цілих 6 байт!)

Пояснення:

?ABv    Feed unary input into the main loop
 / \    Every loop, two bits will be removed from the input
 + <

 / \ <  When we reach the point where there is either one or no bits of input left
!+      If one, it will reflect off both /\s and turn left at the +
        And output, otherwise the program ends since no more bits are moving

5

Пакет, 16 байт

@cmd/cset/a%1%%2

Виходи 1 для непарних, 0 для парних. Альтернативна 16-байтна версія також працює на негативних числах:

@cmd/cset/a"%1&1

17 байт для виведення 1 для парного, 0 для непарного:

@cmd/cset/a"~%1&1

Ваша програма відповідає лише результату MOD, що є неправильним. Питання сказало, що вихідний формат повинен бути " (Input):(Output)"
stevefestl

5

Excel, 10 байт

=MOD(A1,2)

Або:

=ISODD(A1)

Для виведення:

http://i.imgur.com/7dJydqc.png


1
Я ніколи не бачив чудового коду в гольфі ...
програміст5000

1
Альтернативна версія цього коду Excel VBA ?[A1]mod 2,; анонімна функція VBE негайного вікна, яка приймає вхід [A1]і виводить у вікно безпосередніх VBE з 0(фальси), що представляє парне і 1(триутю), що представляє непарне
Тейлор Скотт

5

JSFuck , 9685 9384 6420 байт

JSFuck - це езотеричний та навчальний стиль програмування, заснований на атомних частинах JavaScript. Для написання та виконання коду використовується лише шість різних символів.

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[!+[]+!+[]]+(!![]+[])[+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]

Виходи 1 для непарних і 0 для парних.

Спробуйте в Інтернеті!

alert([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[!+[]+!+[]]+(!![]+[])[+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]](prompt()))


Я думаю, що ви можете вивести 0/1 замість true / false. alert(prompt()%2)здається, 9384 символів.
ETHproductions

Я гольфував це до 6497 знаків . Це відповідає наступному JavaScript: []["fill"]["constructor"]("return this%2")["call"]. fillбуло обрано тому, що це коштує лише 81 символу, що найменше з усіх методів масиву. Також ви можете стверджувати, що JSFuck - це не окрема мова, а скоріше підмножина JavaScript.
Лука

@Luke Я не можу змусити це запустити у фрагменті коду, і оскільки це лише жартівлива відповідь, я збираюся дотримуватися версії на основі попередження, якщо ви не зможете допомогти мені зрозуміти, що я роблю не так.
Powelles

@Luke Замініть простір на а, +щоб заощадити ще 77 байт ;-) І я особисто думаю, що відповісти в JSF - це добре; це в основному діалект JS.
ETHproductions

Код, який я встав, схожий на ім'я функції. Просто додайте круглі дужки та включіть у нього аргумент.
Лука

5

Bash + bc, 21 14 11 9 байт

bc<<<$1%2

Читає введення командного рядка, розширює значення в рядку за допомогою операції mod та передає рядок в bc для обчислення. Виходи 1 для непарних, 0 для парних.

Тестові приклади:

(Input):(Output)
1:1
2:0
16384:0
99999999:1

Редагувати: збережено 7 байт завдяки @ ais523
Редагувати 2: збережено ще 3 байти завдяки @Dennis
Редагувати 3: збережено ще два подяки завдяки @Dennis


2
Ласкаво просимо на сайт!
DJMcMayhem

Можливо, ви могли б взяти вхід з аргументу командного рядка в bash (наприклад, $1), а не витрачати байти, читаючи його з stdin?

@ ais523: Чудова пропозиція! Я мав би подумати про те, щоб це зробити в сценарії, а не просто в командному рядку.
Крістофер Піттс

Ви можете скоротити це до bc<<<$1%2.
Денніс

@Dennis: Дякую! Я спробував це раніше, але не зміг правильно зрозуміти синтаксис.
Крістофер Піттс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.