Ist das gerade oder ungerade?


65

Hinweis: Es wurde noch kein Vanille-Paritätstest durchgeführt (es gibt einen C / C ++ - Test, der jedoch die Verwendung anderer Sprachen als C / C ++ verhindert, und andere Nicht-Vanille-Sprachen sind meistens ebenfalls geschlossen) einer.

Bei einer positiven Ganzzahl wird die Parität (dh ob die Zahl gerade oder ungerade ist) in Wahrheits- / Falsch-Werten ausgegeben. Sie können wählen, ob wahrheitsgemäße Ergebnisse ungeraden oder geraden Eingaben entsprechen.


Beispiele

Angenommen, True / False ist gerade und ungerade (dies ist nicht erforderlich, Sie können für jeden Wert andere Truthy / Falsy-Werte verwenden).

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

Bestenliste


2
Dies ist nicht das erste Mal, dass ich Mathematik mit rechnerischer Parität verwechselt habe ... das ist doch eine Codeseite !
Neil

Da dies so ziemlich eine dieser ( 1 , 2 , 3 ) Fragen ist, sollte es wahrscheinlich einen Ausschnitt geben, um alle Antworten zu sehen.
Freitag,

4
@MikeBufardeci Da "Katalog" je nach Land unterschiedlich geschrieben ist. Für diejenigen von uns in den USA ist es "Katalog". "Leaderboard" ist kulturinvariant.
mbomb007

2
@tuskiomi Die Herausforderung fragt nur nach positiven ganzen Zahlen. (0 gilt als gerade, aber nicht positiv)
Calvins Hobbys

3
@LucioCrusca Willkommen bei PPCG! Die Grundidee von Code Golf ist, ein Programm in der kürzesten Form zu erstellen, die Sie können. Diese Herausforderung besteht darin, eine Ganzzahl (positiv, ungleich Null) zu lesen und auszugeben, ob sie gerade oder ungerade ist. Wenn Sie mit etwas verwechselt werden, besuchen Sie bitte The Nineteenth Byte und fragen Sie frei. Wenn Sie mit den Richtlinien oder Regeln der Site verwechselt werden, rufen Sie die Meta auf . Vielen Dank, dass Sie sich für unsere Community angemeldet haben!
Matthew Roh

Antworten:


112

ArnoldC , 299 283 Bytes

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

Dies gibt 1(was wahr ist) für eine ungerade Eingabe und 0(was falsch ist) für eine gerade Eingabe aus.

Probieren Sie es online!

" Nun, das ist der Plan " (Versuch einer Erklärung)

Der Code liest die Eingabe in die Variable i, ersetzt sie durch das Ergebnis von Modulo 2 und druckt sie dann aus.

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
Meine erste ArnoldC Antwort!
Luis Mendo

16
BULLSHIT YOU HAVE NO RESPECT FOR LOGIC GET TO THE CHOPPER
Magic Octopus Urn

17
GET YOUR ASS TO MARS...Ich habe keine Worte.
Matthew Roh

12
Ich bin dieser Community beigetreten, um dies zu unterstützen. Gut gemacht, Sir
Erik

2
Ich bin dieser Community beigetreten, um auch diesen Beitrag zu verbessern. :)
Vada Poché

46

Brainfuck , 8 Bytes

+[,>,]<.

Die Eingabe ist unär. Die Ausgabe ist die 1 (wahr) für ungerade Zahlen und NUL (falsch) für gerade Zahlen.

Probieren Sie es online!

Wie es funktioniert

Wir beginnen mit dem Inkrementieren der aktuellen Zelle +, um in die while-Schleife eintreten zu können [,>,].

,Liest in jeder Iteration ein Byte von STDIN, >rückt in die Zelle rechts vor und ,liest dann ein weiteres Byte von STDIN. Wenn die Eingabe erschöpft ist, setzt der Interpreter (der auf TIO) die Zelle stattdessen auf NUL . In diesem Fall ist die Bedingung der while-Schleife nicht mehr erfüllt und wir brechen aus der Schleife aus.

Sei n die Eingabe-Ganzzahl. Wenn es eine gerade Anzahl von Eingangsbytes ist - das heißt, wenn n gerade ist - die erste n / 2 Iterationen werden zwei Lese 1 ‚s, und die nächste Iteration zwei Lese NUL ‘ s, so dass das Band wie folgt.

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

<.Wiederholt eine Zelle und druckt ihren Inhalt, wobei ein NUL- Byte an STDOUT gesendet wird.

Wenn es jedoch eine ungerade Anzahl von Eingangsbytes ist, die erste (n - 1) / 2 Iterationen werden zwei Lese 1 ‚s, und die nächste Iteration wird man gelesen 1 und ein NUL , so dass das Band wie folgt.

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

<wird nun zu einer Zelle zurückkehren, die das Byte / Zeichen 1 enthält , das .gedruckt wird.


34

Mathematica, 4 Bytes

OddQ

Gibt Truefür ungerade Eingaben und Falsefür gerade Eingaben, wer wusste?

Es gibt auch EvenQ, aber wer würde das alles schreiben wollen?


22
Ach nein. wieder eingebaut.
Matthew Roh

7
@SIGSEGV Das ist Mathematica für Sie. ;)
Kevin Cruijssen

6
2∣#&funktioniert auch
Kelly Lowder

1
@ KellyLowder wahr, aber das ist 6 Bytes.
Martin Ender

Warum endet der Name mit a Q?
Cyoce

26

Taxi , 1.482 1.290 1.063 1.029 1.009 Bytes

Ich habe noch nie zuvor ein Programm in Taxi geschrieben und ich bin ein Anfänger in der allgemeinen Programmierung, daher gibt es wahrscheinlich bessere Möglichkeiten, dies zu tun. Ich habe nach Fehlern gesucht und es geschafft, ein bisschen Golf zu spielen, indem ich verschiedene Routen ausprobiert habe, die das gleiche Ergebnis haben. Ich begrüße jede Überarbeitung.

Gibt 0für gerade und 1für ungerade zurück.

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".

Probieren Sie es online!

Du hast recht, das ist schrecklich ohne Zeilenumbrüche zu lesen. Hier ist eine formatierte Version:

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".

Hier ist mein bester Versuch, die Logik zu erklären:

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.

Nicht zurück zum Taxi Garage verursacht Ausgang STDERR , aber ich bin mit dieser Geldbuße .


7
Ich habe immer gelernt, dass goto böse ist
etwa am

2
Die Sprache erfordert nicht nur die umfangreiche Verwendung von go to, sondern die einzige Verzweigungsmethode ist die Verwendung von Plänen, die für goto nur einen anderen Namen haben.
Ingenieur Toast

23

Retina , 8 Bytes

[02468]$

Eine Retina-Antwort für die Dezimaleingabe. Dies ist auch eine einfache Regex-Lösung, die in fast jedem Regex-Geschmack funktioniert. Stimmt mit 1geraden Eingaben überein (und wird gedruckt 0) und stimmt nicht mit ungeraden Eingaben überein (und wird gedruckt ).

Probieren Sie es online!

Eine Alternative, auch für 8 Bytes, verwendet eine Transkriptionsstufe, um alle geraden Ziffern auf die xerste zu setzen (da Transkriptionsstufen eine integrierte Funktion für gerade / ungerade Ziffern haben):

T`E`x
x$

Natürlich wäre das kürzeste Eingabeformat (sogar kürzer als unär ) in diesem Fall binär, wobei eine einfache Regex von 0$ausreichen würde. Da es bei der Herausforderung im Wesentlichen darum geht, die am wenigsten signifikante Binärziffer zu finden, scheint die Binäreingabe die eigentliche Herausforderung zu umgehen.


1
+1 für "TeX". Ich möchte eine LaTeX-Antwort sehen ...
Brevan Ellefsen

@Richard Und daher ist es keine gültige Eingabe, die verarbeitet werden muss. (Obwohl das eigentlich bedeutet, dass es trotzdem richtig gehandhabt wird.)
Martin Ender


20

LOLCODE, 67 Bytes

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

Funktion, die WINtrue zurückgibt , wenn number gerade ist, andernfalls FAILfalse.

Mit anrufen C"123".


20

MATL , 5 3 Bytes

Weil Builtins langweilig sind

:He

Dies gibt eine Matrix von Nicht-Null-Werten (die wahr ist) für gerade Eingaben und eine Matrix mit einer Null in ihrem unteren rechten Eintrag (die falsch ist) für ungerade Eingaben aus.

Probieren Sie es online! Der Fußzeilencode ist eineif-elseVerzweigung, um die Richtigkeit oder Falschheit des Ergebnisses zu veranschaulichen. Wenn Sie diese Fußzeile entfernen, wird die Matrix implizit angezeigt.

Erläuterung

Betrachten Sie die Eingabe 5als Beispiel

:     % 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
"Builtins sind langweilig" HeAA, HeAA, HeAA. (Sorry, das war ein schlechtes Wortspiel)
Matthew Roh

3
@SIGSEGV HeHeHe
Luis Mendo

2
Cleverer Ansatz! :)
Stewie Griffin

17

Java 8, 8 Bytes

n->n%2<1

Probieren Sie es hier aus.

Java 7, 30 Bytes

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

Probieren Sie es hier aus.

Ausgänge truefür gerade und falseungerade Zahlen


Wenn 1/0statt erlaubt wäre true/false(ist es nicht, wenn man die Anzahl der Stimmen hier berücksichtigt ):

  • Java 8 (6 Bytes): n->n%2
  • Java 7 (25 Byte): int c(int n){return n%2;}

22
Wo ist all das lächerlich ausführliche Java-Zeug? Ich denke, dies ist mindestens 50 Bytes zu kurz ...
Stewie Griffin

2
Es war einmal ein Tag namens Code-Trolling . Aber dies ist eine sehr schöne akzeptierte Java-Antwort, und hier ist eine Code-Golf- Antwort. Und einige mehr .
Stewie Griffin

2
@lukeg Hallo, die Standardeinstellung ist Programm oder Funktion , sofern in der Aufforderung nichts anderes angegeben ist. Das bedeutet, dass Sprachen wie Java und C # anstelle der gesamten Klasse nur die Funktion (und die erforderlichen Importe) bereitstellen dürfen. Wenn der Fragesteller speziell nach einem Programm fragen würde, müsste ich tatsächlich den Borderline-Code wie die Klasse / Schnittstelle und die Hauptmethode einfügen.
Kevin Cruijssen

1
@lukeg Wenn Sie anfangen möchten, Herausforderungen selbst zu beantworten, finden Sie hier einige Tipps zum Golfen in Java, die interessant sein könnten. Willkommen bei PPCG! :)
Kevin Cruijssen

6
@StewieGriffin Los geht's! int o(int n){return java.util.stream.IntStream.of(n).map(n->n%2).filter(n==0).fi‌​ndAny().isPresent();‌​}
Olivier Grégoire

16

Piet, 15 Codels / 16 Bytes

Quellcode

5njaampjhompppam

Online-Dolmetscher hier verfügbar.

Dieses Programm gibt 0 zurück, wenn die Eingabe gerade ist, und 1, wenn die Eingabe ungerade ist.

Der obige Text repräsentiert das Bild. Sie können das Bild generieren, indem Sie es in das Textfeld auf der Interpreterseite einfügen. Der Einfachheit halber habe ich das folgende Bild bereitgestellt, in dem die Codelgröße 31 Pixel beträgt. Das Raster dient der Lesbarkeit und ist nicht Bestandteil des Programms.

Erläuterung

Dieses Programm verwendet das eingebaute Modulo, um zu bestimmen, ob die Eingabe gerade oder ungerade ist.

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]

Die dunkelblauen Codels unten links werden nie besucht und können in eine andere Farbe als die Farbe eines benachbarten Codels geändert werden. Ich habe dunkelblau gewählt, da ich denke, dass es mit dem Rest des Programms gut aussieht. Der schwarze Code oben links könnte auch weiß sein, aber keine andere Farbe. Ich habe schwarz gewählt, da ich finde, dass es schöner aussieht.

Ich habe das Programm sowohl in Bild- als auch in Textform zur Verfügung gestellt, da es keinen klaren Konsens darüber gibt, wie Piet-Programme bewertet werden sollen. Gerne können Sie die Metadiskussion abwägen .



14

JavaScript, 6 Bytes

Eine anonyme Funktion:

n=>n&1

Alternativ mit gleicher Länge:

n=>n%2

Beide werden zurückkehren, 0|1was die Anforderung an truthy|falseyWerte erfüllen sollte .

Probieren Sie beide Versionen online aus


Laut der Java-Antwort erfüllt dies nicht die Anforderungen. Ist JavaScript in dieser Hinsicht anders?
TheLethalCoder

4
Die Frage stellt klar , „ Dies ist nicht erforderlich, können Sie andere verwenden truthy / Falsy Werte “, die 0|1sind, nicht wahr? @TheLethalCoder
insertusernamehere

1
Ich bin nicht sicher, ob sie in JavaScript sind, was ich gefragt habe. Sehen Sie im Meta-Q / A nach, ob sie es sind. Ich bin mit JavaScript nicht vertraut genug, um es zu wissen.
TheLethalCoder

4
JavaScript ist viel langsamer geschrieben als Java. Es ist glücklich, so ziemlich alles wie irgendeinen Typ zu behandeln. Insbesondere ist es eine Freude, Floats als Boolesche Werte zu behandeln (während Java einen Fehler beim Kompilieren ausgibt, wenn Sie dies tun). (Übrigens möchten Sie möglicherweise nicht wissen, warum dies einen

1
Gut :) Ich war nicht vertraut genug, um mich selbst zu kennen und habe mich nur gefragt.
TheLethalCoder

12

Japt , 1 Byte

v

Gibt 1für gerade Zahlen und 0für ungerade Zahlen zurück .

Probieren Sie es online!

Erläuterung

Eines der Hauptmerkmale von Japt ist, dass Funktionen im Gegensatz zu den meisten Golfsprachen keine feste Arität haben. Das heißt, jede Funktion kann eine beliebige Anzahl von Argumenten akzeptieren. Dies bedeutet, dass Sie manchmal Argumente weglassen können und Japt erraten wird, was Sie wollen. von numbers ist eine Funktion, die ein Argument akzeptiert und zurückgibt, 1wenn die Zahl durch das Argument teilbar ist 0. Zum Beispiel:

v3

Dieses Programm wird ausgegeben, 1wenn die Eingabe durch 3 teilbar ist, 0andernfalls. Es kommt einfach so vor, dass das Standardargument lautet 2, wodurch diese Herausforderung in einem einzigen Byte gelöst wird.


Alternative 1-Byte-Lösung:

¢

¢konvertiert die Eingabe in eine Base-2-Zeichenfolge. Das -hFlag gibt das letzte Zeichen aus der Zeichenfolge zurück.

Probieren Sie es online!


11

Brainfuck , 12 Bytes

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

Dies erfordert einen Dolmetscher mit einem kreisförmigen Klebeband und Zellen, die sich umschließen. Die auf TIO verfügt über 65.536 8-Bit-Zellen und erfüllt die Anforderungen.

I / O ist in Bytes. Ungerade Eingaben werden auf 0x00 (falsch) abgebildet, gerade Eingaben auf ein Byte ungleich Null (wahr).

Probieren Sie es online!

Wie es funktioniert

Wir beginnen mit dem Lesen eines Eingangsbytes ,und dem Addieren von 2 zu seinem Wert mit ++. Wir werden später sehen, warum eine Erhöhung notwendig ist.

Als Nächstes geben wir eine Schleife ein, die zur Zelle rechts vorrückt, fügen ihr 2 hinzu und wiederholen den Vorgang, es sei denn, dies setzt den Wert der Zelle auf 0 .

Anfangs halten alle Zellen außer der Eingabezelle 0 . Wenn der Eingang ungerade ist, wird er durch Hinzufügen von 2 niemals auf Null gesetzt. Nachdem das Band 127- mal durchlaufen wurde, setzt die nächste Iteration der Schleife die Zelle rechts von der Eingabezelle auf 128 × 2 = 0 (mod 256) , wodurch die Schleife beendet wird. >++Wiederholt den Schleifenkörper ein weiteres Mal, sodass die nächste Zelle ebenfalls auf Null gesetzt und dann mit gedruckt wird ..

Wenn andererseits die Eingabe n ist und n gerade ist, setzt der Code vor der Schleife die Eingabezelle auf n + 2 . Nach zweimaligem Durchlaufen des Bandes (256 - (n - 2)) / 2 = (254 - n) / 2 erreicht die Eingabezelle 0 und die Zelle rechts davon enthält den Wert (254 - n) / 2 × 2 = 254 - n . Nach der Zugabe von 2 mit >++, .drucken 256 - n = -n (mod 256) , die nicht Null ist , da n ungleich Null ist.

Schließlich ist zu beachten, dass im zweiten Fall 258-n = 2-n (mod n) ausgegeben würde, wenn die Eingabe vor der Schleife nicht inkrementiert würde, da eine weitere Schleife um das Band erforderlich wäre, um die Eingabezelle auf Null zu setzen. Das Programm würde also für die Eingabe 2 fehlschlagen .


11

Sinclair ZX81 BASIC 124 Bytes 114 Bytes 109 Bytes 57 50 tokenized BASIC Bytes

Nach den Kommentaren von Adám ist hier der neueste Release Candidate:

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

Es wird jetzt PRINT 1für gerade und 0für ungerade. Zero wird beendet.

Hier sind ältere Versionen der symbolischen Auflistung zu Referenzzwecken:

 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

Hier ist die alte (v0.01) Auflistung, damit Sie die Verbesserungen sehen können, die ich vorgenommen habe, da diese neue Auflistung nicht nur kleiner, sondern auch schneller ist:

 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

Und hier ist v0.02 (mit Sinclair-Unterzeichenfolgen):

 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 Aktion - wahr oder falsch ab v1 / 2


1
Dies ist keine Kolmogorov-Komplexität . Sie müssen nur 0 oder 1 für eine bestimmte Eingabe zurückgeben.
Adám

Die Frage scheint bearbeitet worden zu sein, seit ich meinen ersten Eintrag gemacht habe, da sie <i> gelesen </ i> werden muss, um zurückgegeben zu werden. Daher kann ich die symbolische Auflistung weiter vereinfachen.
Shaun Bebbers

1
Warum müssen Sie auf Null beenden? Kannst du nicht einfach PRINT (A-2*INT A/2)/A?
Adám

In der ursprünglichen Frage, die hilfreich bearbeitet wurde, wurde angegeben, dass der Wert 0 kein TRUEoder erzeugen FALSEsoll. Daher 0sollte er kein Ergebnis liefern. Dann musste ich STOPdas Programm anpingen. Ich habe die ursprüngliche Frage wahrscheinlich etwas zu wörtlich interpretiert, da sie von @SIGSEGV gepostet wurde. Ja, man kann optimieren und umgestalten, Sie haben Recht.
Shaun Bebbers


8

Netzhaut, 3 Bytes

11

Der abschließende Zeilenumbruch ist erheblich. Nimmt unäre Eingaben auf. Gibt 1 für ungerade Zahlen aus, nichts für gerade Zahlen. Probieren Sie es online!


Sie können einfach die vollständige Antwort (mit der erforderlichen Formatierung für den nachfolgenden Zeilenumbruch) von TIO kopieren.
Martin Ender

@MartinEnder Nein, ich wusste es nicht.
Neil

Es ist das vorletzte Snippet, wenn Sie den Permalink generieren.
Martin Ender

Oh, es ist ein ganzer Ausschnitt? Ich sehe nur die Titelzeile.
Neil

@Neil, wenn Sie in das Snippet klicken, wird es erweitert und Sie werden den Körper sehen
Dada

8

C ++, 25 Bytes

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

Dies definiert eine Variablenvorlage ( ein funktionsähnliches Konstrukt ) mit einem Wert, der der bitweisen Operation entspricht input&1. 0für gerade Werte 1für ungerade Werte. Der Wert wird zur Kompilierungszeit berechnet.

Benötigt C ++ 14.

Probieren Sie es online!


Woah, das scheint wirklich klug zu sein. Ich habe noch nie eine Antwort wie diese gesehen! Wie nennt man das?
DJMcMayhem

@DJMcMayhem Es ist eine einfache Verwendung der variablen Vorlagen von C ++ 14 . Das ist allerdings nicht so clever: Eine einfache Funktion aproach ( int o(int v){return v&1;}) würde die gleiche Menge an Bytes benötigen , mit dem Unterschied, dass der Wert zur Laufzeit berechnet würde.
Cássio Renan

Ich glaube nicht, dass dies tatsächlich qualifiziert, da der Code nur in eine Rückgabe 1 oder eine Rückgabe 0 kompiliert würde. Das erneute Ausführen desselben kompilierten Codes würde niemals zu einem anderen Ergebnis führen, es ist keine Funktion auf diese Weise. Näher an einer Konstante.
Betrunkener Code-Affe

@DrunkenCodeMonkey Die Auswertungszeit ist irrelevant. Was zählt, ist, dass ich Argumente an das Konstrukt übergeben kann (Eingabe bereitstellen), und es gibt Ergebnisse zurück (Ausgabe zurückgeben). Aus Ihrer Sicht wäre keine Funktion qualifizierbar, da main()das Programm ohne ein ähnliches Konstrukt auch nur zu a kompiliert würde return 0oder überhaupt nicht kompiliert werden könnte. Dies widerspricht dem Meta-Post, auf den ich in dieser Antwort verlinkt habe.
Cássio Renan

1
C ++ Lambda-Funktion spart 3 Bytes [](int x){return x%2;} Versuchen Sie es online
Johan du Toit

8

Pyth, 3 2 Bytes

Ich hab es gemacht. Ich habe das Ungolfable gespielt. Diesmal ist es eine nicht triviale Lösung, die es geschafft hat, das letzte Byte zu bekommen!

!F

Wahrheit über gerade Werte (ohne 0, aber das ist nicht positiv ...).

Erläuterung:

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

Zum Beispiel, !!2 = !0 = 1 , und!!!3 = !!0 = !1 = 0

Ich werde meine Bibliothek mit 3-Byte-Lösungen hier unten aufbewahren.

"Es gibt eine andere Antwort mit mehreren 3-Byte-Lösungen, die jedoch noch lange nicht vollständig ist. Fügen wir noch ein paar hinzu:

@U2

[0,1]Indiziert die Liste modular und gibt bei ungeraden Eingaben die Wahrheitswerte an.

}2P

Steht 2 in der Primfaktorisierung der Eingabe? (Wahrheit auf gerade)

ti2

Ist der GCD 2 und der Eingang 2? (Wahrheit auf gerade)

gx1

Wird die Eingabe durch XOR-Verknüpfung mit 1 nicht verringert? (Wahrheit auf gerade)

q_F

Grundsätzlich gilt: Q == Q*-1^QQ ist die Eingabe, erfolgt jedoch über eine Schleife. (Wahrheit auf gerade)

_FI

Das gleiche wie oben.

g^_

Wird übersetzt in Q <= -Q^Q (Wahrheit auf gerade)

Beachten Sie, dass jede der oben genannten Lösungen, bei denen ges <um das Umdrehen von Wahrheitsfehlern geht, funktioniert.)


1
Ja, das ist ziemlich schlau :)
Digital Trauma

7

C #, 8 Bytes

n=>n%2<1

Kompiliert zu a Func<int, bool>.

Oder wenn eine anonyme Funktion nicht erlaubt ist, diese Methode für 21 Bytes:

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

@obarakon Nicht in C #, siehe diese Antwort auf Meta . Grundsätzlich if (1)nicht kompilierbar.
TheLethalCoder

gibt es keine if (1)in ihrem code?
SIE

1
@YOU Richtig, lies den Meta-Post, um zu verstehen, was ich damit gemeint habe.
TheLethalCoder

2
@YOU, die akzeptierte Definition (auf dieser Site) eines Wahrheits / Falsch-Werts lautet: Wenn if (x)als wahr ausgewertet wird, xist dies ein Wahrheits-Wert. Wenn es falsch ist, ist es false. Also, in Pseudo - Code: if x, disp(true), else disp(false). Wenn dies nicht kompiliert werden kann, xkann es nicht verwendet werden. In MATLAB und mehreren anderen Sprachen wird alles, was nicht Null ist, als wahr 0und falseals falsch betrachtet. Die Zeichenfolge Helloist in MATLAB also ein wahrer Wert. Bei einigen Sprachen muss der Wert jedoch ein Boolescher Wert sein (hier der Fall). Daher muss er mithilfe von in einen Booleschen Wert konvertiert werden <1.
Stewie Griffin

Aha. danke für die erklärungen.
SIE

7

Pyth, 3

Ich hatte erwartet, dass in Pyth ein oder zwei Bytes dafür eingebaut sind. Stattdessen sind hier die besten Lösungen, die ich finden konnte:

%Q2

oder

.&1

oder

e.B

2
Keine eingebaute, aber es gibt eine 2-Byte-Lösung .
Steven H.

7

TIS-100, 39 Bytes

Dies ist natürlich genauer gesagt ein Programm für die T21 Basic Execution Node-Architektur, wie sie vom TIS-100-Emulator emuliert wird.

Ich werde Sie auf diese Antwort verweisen, um eine fantastisch ausführliche Erklärung des Scorings für TIS-100-Programme sowie ihrer Struktur zu erhalten.

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

Erläuterung:

@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

Im Pseudocode würde es ungefähr so ​​aussehen:

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

Der T21 hat keine Booleschen Typen oder Wahrheits / Falsch-Werte. Daher gibt das Programm -1 für ungerade Zahlen und 0 für gerade Zahlen zurück, es sei denn, die vorherige Eingabe war ungerade. In diesem Fall gibt es -1 für gerade Zahlen und 0 für ungerade Zahlen zurück Zahlen - Wenn Sie diese Tatsache stört, ist dies eine vollständige Programmantwort, sodass Sie Ihren T21 zwischen den Einsätzen einfach neu starten können.


Ich dachte nur an TIS-100, das Zachtronics-Puzzlespiel, da ich es letzte Woche kaufen wollte. Ist TIS auch eine tatsächliche Sprache oder existiert sie nur in diesem Videospiel?
Seshoumara

@seshoumara Meines Wissens existiert es nur innerhalb des Spiels. Die gesamte Architektur von Maschinen in TIS ist ein bisschen typisch, und diese Sprache im Assembly-Stil fügt sich in diese ein.
Steenbergh

Ich kann bestätigen, dass es nur im Spiel existiert (und sogar im Universum ist es eine seltsame und bizarre Architektur). Ich habe die Antwort, mit der Turtleman verbunden ist, so geschrieben, als gäbe es echte TIS-Geräte, aber ich habe sie nur zum Spaß im Charakter gemacht.
U-

2
@Blacksilver Die wahre Herausforderung, denke ich, wäre es, eine Spacechem-Antwort zu geben!
Tutleman

1
Ich habe einen TIS-Emulator für TIO implementiert, sodass Sie ihn jetzt online
Phlarx

6

Gelee , 1 Byte

Probieren Sie es online!

Nur ein weiteres eingebautes.

Für Leute, die Jelly nicht kennen: Es kann ziemlich gut auf fehlende Code-Teile schließen, daher gibt es keinen großen syntaktischen Unterschied zwischen einem Snippet, einer Funktion und einem vollständigen Programm. Der Interpreter fügt automatisch Code hinzu, um geeignete Argumente einzugeben und das Ergebnis auszugeben. Das ist ziemlich praktisch, wenn es um PPCG-Regeln geht, die Funktionen und Programme zulassen, aber keine Snippets zulassen. In der TIO-Verknüpfung behandle ich dies als Funktion und führe es für jede ganze Zahl von 1 bis einschließlich 20 aus, aber es funktioniert auch als vollständiges Programm.

Gelee , 2 Bytes

&1

Probieren Sie es online!

Es ist auch ohne das eingebaute ziemlich kurz. (Dies ist bitweise UND mit 1.)


2
Alle diese Sprachen scheinen ein bisschen zu schummeln für diese Fragen lol
Drunken Code Monkey

6

7 , 18 Zeichen, 7 Bytes

177407770236713353

Probieren Sie es online!

7 hat nichts, was einer normalen if-Anweisung ähnelt, und hat mehr als eine idiomatische Art, einen Booleschen Wert darzustellen. Als solches ist es schwer zu wissen, was als wahr und falsch gilt, aber dieses Programm verwendet1 für ungerade und die Null-Zeichenfolge für gerade (die wahr und falsch Werte für Perl, in denen der 7-Interpreter geschrieben ist). (Es ist einfach genug, dies zu ändern. Die ungerade Ausgabe wird vor den ersten 7 angegeben, die gerade Ausgabe wird zwischen den ersten beiden 7 angegeben. Möglicherweise muss das Ausgabeformat geändert werden, um andere Ausgabearten zu verarbeiten. Ich habe die beiden verwendet kürzeste eindeutige Ausgaben hier.)

7 verwendet eine komprimierte Oktalcodierung, bei der drei Bytes der Quelle acht Bytes des Programms darstellen, sodass 18 Zeichen der Quelle in 7 Bytes auf der Platte dargestellt werden.

Erläuterung

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

Wie bei vielen Ausgabeformaten machen "Ausgabe-Ganzzahlen" vor der Ausgabe eine beliebige Anzahl von Escape-Ebenen rückgängig. Somit 40kann anstelle 405einer Swap-Operation (die eine Swap-and-Escape-Operation gefolgt von einer Unescape-Operation ist) eine kombinierte Swap-and-Escape-Operation verwendet werden . Wenn Sie ein Ausgabeformat verwenden, das in Bezug auf das Escape nicht stabil ist, benötigen Sie dort das volle Format 405. (Der Grund, warum wir ursprünglich die Formatzeichenfolge umgehen mussten, ist, dass die erste Ausgabe, die nicht darstellbare Zeichen enthält, automatisch das Ausgabeformat 7 erzwingt. Durch das Escaping werden die nicht darstellbaren Zeichen entfernt und das Format 0 kann ausgewählt werden.)

Von den sechs anfänglichen Stack-Elementen ist das oberste das Hauptprogramm (und wird von dem verbraucht 13, das als Erstes ausgeführt wird). Die zweite 023Methode wählt das Ausgabeformat aus und fordert Eingaben an. Sie wird von dieser Operation verwendet. Der dritte wird als Nebeneffekt des 3Vorgangs verbraucht (er wird verwendet, um Stapelelemente zusätzlich zur Ausgabe zu verwerfen). der vierte 40ist der Körper der Schleife (und wird von dem verbraucht, der 5die Schleife ausführt); und die fünfte und sechste werden mehrmals gleich der Eingabe getauscht (landen also an ihren ursprünglichen Positionen, wenn die Eingabe gerade ist, oder an den Positionen der jeweils anderen, wenn die Eingabe ungerade ist).

Sie könnten einen Charakter aus dem Takt bringen 177, indem Sie das führende 17Element auf ändern (und sich dabei auf ein implizites leeres sechstes Stapelelement verlassen), aber dies würde die Parität der Ausgaben auf eine weniger idiomatische Methode ändern als ungerade-ist-wahr, und es wird nicht gespeichert ein ganzes Byte (die Quelle ist immer noch sieben Byte lang). Aus diesem Grund habe ich mich für die natürlichere Ausgabe entschieden, da sie nicht schlechter abschneidet.


6

Brain-Flak , 22 bis 20 Bytes

Hier ist eine weitere coole Antwort in Brain-Flak, die du dir ebenfalls ansehen solltest

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

Probieren Sie es online!

Erläuterung

Zunächst machen wir eine Kopie unserer Eingabe mit (({})).

Die untere Kopie dient als Wahrheitswert, während die obere Kopie für die eigentliche Verarbeitung verwendet wird. Dies geschieht, weil die Eingabe oben sein muss und es ziemlich umständlich ist (zwei zusätzliche Bytes!), Eine 1 unter die Eingabe zu setzen.

Dann beginnen wir eine Schleife {({}[()]<>)}. Dies ist eine einfache Modifikation der Standard-Countdown-Schleife, die bei jeder Dekrementierung die Stapel wechselt.

Da es zwei Stapel gibt, endet eine gerade Zahl auf dem Stapel, auf dem sie begonnen hat, während eine ungerade Zahl auf dem gegenüberliegenden Stapel endet. Der kopierte Wert bleibt an Ort und Stelle und dient somit als Markierung für den Ausgangspunkt.

Sobald wir mit der Schleife fertig sind, haben wir einen 0(ursprünglich die Eingabe), der entweder auf einem Wahrheitswert (der Kopie der Eingabe) oder einem falschen Wert (leerer Stapel) liegt. Wir haben auch den entgegengesetzten Wert auf dem anderen Stapel.

Wir müssen das loswerden, das 0entweder von {}oder entfernt werden kann <>. Beide scheinen zu funktionieren und liefern entgegengesetzte Ergebnisse, {}verursachen jedoch einen falschen Wert für Null, wenn er wahrheitsgemäß zurückgegeben werden soll. Dies liegt daran, dass unser "Wahrheits" -Wert eine Kopie der Eingabe ist und Null die einzige Eingabe ist, die falsch sein kann.

Dieses Problem wird durch Beenden des Programms mit behoben <>.

(Natürlich muss ich laut Spezifikation technisch nicht null unterstützen, sondern gebe zwei Optionen an, die ich am liebsten unterstützen würde.)


6

BitCycle , 19 17 16 Bytes

?ABv
 / \ <
!+ <

Probieren Sie es online!

Ich habe das Gefühl, dass eine 18-Byte-Lösung außerhalb der Reichweite schwebt :( Haha! -2 Byte durch Verwendung von a +, um Bits aus verschiedenen Richtungen umzuleiten.

Es fühlt sich immer noch so an, als ob zu viel Leerzeichen darin ist (ganze 6 Bytes!)

Erläuterung:

?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

Batch, 16 Bytes

@cmd/cset/a%1%%2

Ausgänge 1 für ungerade, 0 für gerade. Alternative 16-Byte-Version funktioniert auch bei negativen Zahlen:

@cmd/cset/a"%1&1

17 Bytes, um 1 für gerade, 0 für ungerade auszugeben:

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

Ihr Programm gibt nur das falsche MOD-Ergebnis aus. Die Frage (Input):(Output)
lautete,

5

Excel, 10 Bytes

=MOD(A1,2)

Oder:

=ISODD(A1)

Für die Ausgabe von:

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


1
Ich habe noch nie exzellentes Code-Golf gesehen ...
programmer5000

1
Alternative Excel VBA-Version dieses Codes ?[A1]mod 2; Eine anonyme VBE- Direktfensterfunktion , die Eingaben von [A1]und Ausgaben an das VBE- 0Direktfenster annimmt, wobei (falsey) für gerade und 1(truthy) für ungerade steht
Taylor Scott,

5

JSFuck , 9685 9384 6420 Bytes

JSFuck ist ein esoterischer und lehrreicher Programmierstil, der auf den atomaren Teilen von JavaScript basiert. Es werden nur sechs verschiedene Zeichen zum Schreiben und Ausführen von Code verwendet.

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

Ausgänge 1 für ungerade und 0 für gerade.

Probieren Sie es online!

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


Ich denke, Sie können 0/1 anstelle von wahr / falsch ausgeben. alert(prompt()%2)scheint 9384 Zeichen zu sein.
ETHproductions

Ich habe das auf 6497 Zeichen reduziert . Dies entspricht den folgenden JavaScript: []["fill"]["constructor"]("return this%2")["call"]. fillwurde gewählt, weil das nur 81 Zeichen kostet, die am wenigsten von allen Array-Methoden. Sie könnten auch argumentieren, dass JSFuck keine eigene Sprache ist, sondern eine Teilmenge von JavaScript.
Luke

@Luke Ich kann das im Code-Snippet nicht zum Laufen bringen und da dies nur eine Scherzantwort ist, bleibe ich bei der alarmbasierten Version, es sei denn, Sie können mir helfen, herauszufinden, was ich falsch mache.
Powelles

@Luke Ersetze den Platz durch a +, um weitere 77 Bytes zu sparen ;-) Und ich persönlich denke, das Antworten in JSF ist in Ordnung; Es ist im Grunde ein Dialekt von JS.
ETHproductions

Der Code, den ich eingefügt habe, ist wie ein Funktionsname. Fügen Sie einfach die Klammern hinzu und fügen Sie das Argument hinzu.
Luke

5

Bash + Bc, 21 14 11 9 Bytes

bc<<<$1%2

Liest die Befehlszeileneingabe, erweitert den Wert mit der Mod-Operation in die Zeichenfolge und leitet die Zeichenfolge zur Berechnung an bc weiter. Ausgänge 1 für ungerade, 0 für gerade.

Testfälle:

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

Edit: 7 Bytes dank @ ais523 gespeichert
Edit 2: Weitere 3 Bytes dank @Dennis gespeichert
Edit 3: Weitere 2 dank @Dennis gespeichert


2
Willkommen auf der Seite!
DJMcMayhem

Vielleicht könnten Sie Eingaben von einem Befehlszeilenargument zum Bash (wie z $1 ) nehmen, anstatt Bytes damit zu verbringen, es aus stdin zu lesen?

@ ais523: Toller Vorschlag! Ich hätte darüber nachdenken sollen, es in einem Skript zu tun, anstatt nur in der Befehlszeile.
Christopher Pitts

Sie können dies auf kürzen bc<<<$1%2 .
Dennis

@ Tennis: Danke! Das habe ich früher versucht, aber die Syntax stimmt nicht.
Christopher Pitts
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.