Douglas Adams wurde am 11. März 1952 geboren und starb im Alter von nur 49 Jahren. Zu Ehren dieses wunderbaren Schriftstellers fordere ich Sie auf, 42 auf möglichst kreative Weise zu zeigen.
Sie können es über eine gewundene Methode im Protokoll ausdrucken oder als ASCII-Grafik anzeigen oder so! Überlegen Sie sich einfach eine kreative Methode zur Anzeige von 42.
Denn dies ist ein Beliebtheitswettbewerb, bei dem der Gewinner ermittelt wird, welche Antwort bis zum 11. März die meisten positiven Stimmen hat.
Hinweis: Dies ist kein Duplikat. Die Frage, die als dupliziert markiert wurde, war eine Code-Trolling-Frage, deren Ziel es war, Code in Ausgabe 42 zu schreiben, und nicht die kreativste Art, ihn anzuzeigen .
Gewinner: grovesNL! Mit erstaunlichen 813 Stimmen! Glückwunsch!
Anerkennungen:
Mr Lister C 228 Für den klugen Gebrauch von #define
David Carraher Mathematica 45 Für die komplizierte und verschlungene mathematische Funktion 42 zu erreichen
Aschratt Windows Calculator 20 Weil es Windows Calculator ist und definitiv 1337.
f.rodrigues Python 17 Wegen der geschickten Verwendung externer Programme. Und MSPaint
Jason C LMGTFY 14 Für die Verwendung von LMGTFY (Lassen Sie mich das für Sie googeln)
Trimsty Python 12 Für die geschickte Verwendung einer Fehlermeldung zur Ausgabe von 42.
Mukul Kumar C ++ 7 Für die schöne ASCII-Ausgabe.
Wenn Sie der Meinung sind, dass es eine andere Antwort gibt, die es wert ist, auf die Liste gesetzt zu werden, kommentieren Sie sie bitte!
quelle
Antworten:
Doppeltes Brainfuck
welche Ausgänge ...
welche Ausgänge ...
quelle
6*9=42
.C
Hier ist ein Oldie, aber Goodie ...
Dieses Programm enthält 42 verschiedene ASCII-Zeichen.
quelle
six*nine
wird1+5*8+1
das 42. Gut gemacht, Mr. Lister.#define
funktioniert in C ++ genauso wie in C.Brainfuck
Dauerte eine Weile, um dorthin zu gelangen, aber ich mag das Ergebnis:
Wenn es ausgeführt wird, wird es natürlich 42 ausgeben.
quelle
JavaScript:
Die Ausgabe ist:
Nicht schlecht, was? :)
Für die Leute, die nicht verstehen, wird tatsächlich Folgendes ausgewertet:
quelle
_
ein gültiger Variablenname in JavaScript ist - und so ist__
,___
,____
,________
.C, zwölf Tage Weihnachtsstil
Neue Version:
Ausgabe:
Schauen Sie sich übrigens auch meine Antwort per SMS an .
Originalfassung:
Die Ausgabe ist:
Alternativer Abstand, wenn Sie sich klebrig fühlen:
Das Programm ist eine einzelne rekursive Anweisung. Ich habe es in Anlehnung an mein Lieblings-C-Programm " Twelve Days of Christmas" gemacht (kompilieren, vorbereiten, blasen, ausführen).
WIE MAN
Da dies ein beliebiger Ort zu sein scheint, finden Sie hier eine Anleitung, die beschreibt, wie diese Art von Programm erstellt wird. In diesem Handbuch wird die obige Originalversion als Beispiel verwendet. Abgesehen vom ersten Bit mit den Blockbuchstaben sind dies allgemeine Schritte:
INITIAL: Zuerst habe ich die Druckbuchstaben gemacht:
Ich habe dann eine nummerierte Liste der eindeutigen Muster in jeder 5-Spalten-Zeichenzeile erstellt:
Und so wird jede der 5 Pixel-Textzeilen zu einer Folge von 9 Zahlen:
Zur Verschleierung (und zur Erleichterung der Programmierung) fügen wir den Zahlen das Zeichen '#' hinzu. In dem Programm unten
patterns
ist das Array von Pixelmustern undlines
das verschleierte Array von Mustercodes für jede Zeile, abgeschlossen durch ein 'x'. Zur weiteren Verschleierung definieren wir "Ein" -Pixel inpatterns
als Zeichen, das kein Leerzeichen ist. Dadurch können wir mehr irreführenden Text einfügen inpattern
:SCHRITT 1: Der nächste Schritt beinhaltet einige Aufgaben:
int function (int, int)
und verwenden Sie für jeden dieselben Parameternamen. Die Gründe werden später klar.main
in das Formularint main (int, int, int)
und benennen Sie die letzten beiden Parameter wie die Namen Ihrer Funktionsparameter.int putchar (int)
.Wir können auch die seltsame C-Funktion nutzen, bei der
a[b]
es sich umb[a]
eine weitere Verschleierung handelt.SCHRITT 2: Verwenden Sie als Nächstes die Operatoren
?:
und,
, um jede Funktion in eine einzelnereturn
Anweisung umzuwandeln . Ich illustriere dies getrennt von dem oben Gesagten, da es hier anfängt, die Dinge zu verwirren. Denken Sie daran, dassputchar()
ein zurückgegebenint
wird und?:
Vorrang vor,
:SCHRITT 3: Ok. Der nächste Schritt ist ein großer. Alle Funktionen sind jetzt eine einzige Anweisung derselben Form. Wir können sie jetzt alle zu einer einzigen Funktion zusammenfassen und jede durch eine Nummer identifizieren - im Grunde genommen wird das gesamte Programm zu einer einzigen rekursiven Funktion. Beachten Sie, dass der erste Parameter
main
1 ist, wenn das Programm ohne Argumente ausgeführt wird. Dies sollte also unser Ausgangszustand sein.Da unser Parameter
c
tomain
unsere Zustandsvariable ist, kennen wir seinen Wert zu jeder Zeit und können ihn ein wenig weiter verschleiernc
, indem wir ganzzahlige Konstanten durch ihre Wertec
ersetzen, zum Beispiel, wenn wir wissen, dass es 2 ist, können wir 5 ersetzen mitc+3
). Andere kleine Verschleierungen kann auch durchgeführt werden (zB I ersetzt'#'
mit35
und043
):SCHRITT 4: Entfernen Sie abschließend den
switch
Block mit einer Reihe von?:
Operatoren. Wir können auch dieint
Deklarationen entfernen , da C sie standardmäßig verwendet, sowie die Deklarationenreturn
selbst (die im schlimmsten Fall eine Warnung erzeugen). Danach ist unser Programm eine einzige rekursive Funktion mit einer Anweisung. Ziemlich cool, oder?Edit: Ich habe
putchar()
mitmain
undc==4
unten ersetzt; weil ich gerade in letzter Minute daran gedacht habe:Wenn Sie ein wenig Flair hinzufügen möchten, können Sie weitere interessante Zahlen für verwenden können
c
und stützen auch die Kontrollen weg von anderen Zahlen (zB für denc==2
Fall,z
ignoriert und verfügbar, so dass anstelle des Aufrufsmain(2,z,_)
Sie nennen könntemain(-97,_,_)
und ersetzenc==2
mitc<-z
). Seien Sie kreativ; Die Möglichkeiten sind endlos.FINISH: Der letzte Schritt besteht darin, den Text in einem kreativen Muster anzuordnen, und voila! Sie können den Code ein wenig anpassen, um die Formatierung zu erleichtern (z. B. habe ich einige zusätzliche Daten am Ende der
patterns
Zeichenfolge im bereitgestellten Programm hinzugefügt , um die richtige Zeilenlänge zu erzielen). Die Damen sind auf jeden Fall auf dem laufenden.quelle
Ich fühle mich faul.
Python
Ausgabe:
quelle
Java
(oder C ++, der Code ist fast ähnlich)
Verwenden Sie String-Funktionen, vergessen Sie also nicht, Ihre Bibliothek einzuschließen!
PS Ich weiß, es ist langwierig, aber es soll kreativ sein, oder? Und auf jeden Fall ist es kein "Niedrigst-Byte-Gewinn".
Hier ist die Ausgabe:
Stellen Sie sich mein Elend vor, als ich zählte und herausfand, dass "Das Restaurant am Ende des Universums" 41 Zeichen hatte! : / Seufz.
quelle
Mathematica
Nimm 1
Mit ein bisschen Arbeit sollte ich in der Lage sein, das ein bisschen herunter zu spielen. :)
In
InputForm
:In
TraditionalForm
:Testen:
Nimm 2
Hinweis: Die Ziffern wurden wie folgt erstellt.
quelle
Scheint angebracht:
Ausgabe:
Ubuntu 12.04, 64-Bit-Desktop
quelle
echo $(grep -i ... tr -d ' ') | sed 's/ //g'
würde aber alles auf eine Linie bringen. Sie können auch Anführungszeichen anstelle des$()
Formulars verwenden, aber es ist schwieriger, hier einen Kommentar einzutragen.$()
wird durch den POSIX-Standard festgelegt .Windows-Rechner
Multiplizieren Sie Pi mit 13,37 und ignorieren Sie die Dezimalstelle
:P
quelle
Python
Ich denke, es funktioniert nur unter Windows 7.
Das Ergebnis ist das Öffnen von Paint und das Malen von 42 als freie Hand.
quelle
Java (Swing)
Daraufhin wird ein Rahmen mit der Antwort angezeigt . Es wird nur
42
für Werte verwendet.quelle
Mathematica
obwohl ich denke, dass es wirklich betrügt, da es hart codiert ist. Und nicht sehr kreativ meinerseits ... :)
quelle
Rubin
Es ist allgemein bekannt, was Sie erhalten, wenn Sie sechs mit neun multiplizieren . Dies gibt eine Lösung:
Python
Eine Variante von Tuppers selbstreferenzieller Formel :
Ausgabe:
quelle
Javascript
quelle
true == 1
.[]
anstelle von""
([] == ''
)!alert((!![]+-~[])*(!![]+-~[])+[]+(!![]+-~[]))
(!-[] === true) && (!~[] === false)
. Sie können auch Ersatz{}
für[]
.(!!{}+!-[]<<-~{})+[]+(!-[]+-~[])
?LMGTFY
http://bit.ly/1ldqJ8w
Kurz genug, dass ich dies eingeben musste, um die minimale Zeichenanzahl zu erreichen ...
quelle
Viertens:
Diese 1 LOAD Ausgänge:
quelle
C ++
Morse-Code ;)
quelle
R
Ergebnis:
quelle
Java
Ausgabe:
quelle
SWI-Prolog, wer?
Ausgabe:
Dies ist noch fauler als die Mathematica-Calling-Wolfram-Alpha, aber hey!
quelle
Linux-Shell
Folgendes habe ich 1999 geschrieben und damals als Usenet-Signatur verwendet.
Bearbeiten: Ha! Dies war die 42. Antwort.
quelle
PHP-Version:
JavaScript-Version:
Ausgabe:
quelle
42
. Ich habe verschiedene andere vom Menschen lesbare Methoden ausprobiert, und dies war die beste Möglichkeit, das Datum zu ändern, um eine Lösung zu finden.mm/dd/yy
. Wenn Sie sagen04/03/11
, ich würde es als den 4. März 2011 lesen - nicht den 3. April.dc
Der Versuch, sich zu vermehren
1+8
und5+1
zu bekommen42
. Es sieht so aus, als hätte die Unkenntnis des Vorrangs des Operators dazu geführt42
.Python
Ausgabe:
42
Bash
(Multiplizieren
6
mit9
)C
Ausgabe:
42
quelle
Brainf ** k
quelle
C ++
Ausgabe
quelle
getch
sein_getch
statt.JavaScript
Ausgänge
42
.quelle
J
Symmetrischer Einzeiler ohne alphanumerische Zeichen.
Ausgänge 42.
Die Hauptberechnung ist:
quelle
JavaScript
Der ASCII-Code für
*
, der für die meisten Programmierer für "alles" steht, ist 42.+!"The End of the Universe"
Wird mit 0 ausgewertet.quelle
"The End of the Universe"|0
PHP
Fragen Sie WolframAlpha. Hier ist ein Code, der die WolframAlpha-API verwendet, um das Ergebnis einer bestimmten Suchabfrage abzurufen:
Ausgabe:
Arbeitsdemo
quelle