Kreativste Art, 42 anzuzeigen


386

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!


6
Die alte geschlossene Frage war ein Code-Trolling, dh alles, was nicht 42 erscheint, als würde es so oder so schrecklich erscheinen. Dieser ist kein Code-Trolling, dh die Ausgabe sollte auf nette Weise wirklich 42 sein. Daher ist es kein Duplikat.
Victor Stafusa

2
@DanDascalescu Diese SE-Site enthält viele Fragen ohne strenge Anforderungen, die es den Benutzern ermöglichen, ihre Antworten frei zu gestalten. Manchmal können zu viele Einschränkungen den Ausdruck von Kreativität beeinträchtigen
GrovesNL

9
Die Frage sollte bei 42 Stimmen bleiben.
Zero Fibre

28
Marvin The Robot "Ich würde meine brillante Antwort posten, aber Sie würden sie wahrscheinlich ablehnen. Die ganze Zeit Recht zu haben, ist so deprimierend."
Reactgular

3
Können wir 42 Favoriten bekommen?
Milo

Antworten:


843

Doppeltes Brainfuck

           +++++[>++[>+>+        ++>++++>++++>++++>++++++
          >++++++>+++++++        ++>+++++++++<<<<<<<<<-]>>
         >+>+>+> >>>+[<]<        -]>>       >++>-->>+>>++>+
        >--<<<<  <<<.....         .>            ....<......
       ...>...   <<.>....                       >.>>>>>.<.
       <<<<..     ..<....                      >..>>>>>.<
      .<<<<.      >>>.<<.                     >>>>>.<.<
      <<<<<       <.>...>                    >>>.>>>.
     <<<.<        <<<..>>                  .>>>>>.<
    <.<<<         <<...>>                 >>>.<<<
   <..<.          ...>...               <<.>..>.
   >>.<.<<...>>...<<...>>...<         <....>>..
  .<<<.>.>>..>.<<.......<....        .....>...
                 <<.>...            .....>...
                 <......           .>>>.<<..
                 <<.>...          .....>...<......>.>>.<.<<<
                 .>......        ..>>...<<....>>.....>.<..>.

welche Ausgänge ...

      ++++         +++
    +[>++++    ++[>+<-][
   <]<  -]>   >++    +++
  +.-   ---   ---    ---
 --.+++++++         +++
        +++       .++
        +++      +.-
        ---    -----.--.

welche Ausgänge ...

6*7=42

92
Ich habe immer gedacht, dass etwas mit dem Universum grundsätzlich nicht stimmt.
mfitzp

147
Es sollte so sein 6*9=42.
Proxy

17
@Proxy: Stimmt, aber manchmal gehen diese Referenzen trotz des Kontexts für die Zuschauer verloren ... ;-)
grovesNL

19
@ IsmaelMiguel: Das ist so Basis 10 von Ihnen ...
Dennis

26
Ich habe die ganze Frage hochgeschrieben, damit die Leute diese Antwort sehen.
Michael Stern

329

C

Hier ist ein Oldie, aber Goodie ...

#include <stdio.h>

#define six  1+5
#define nine 8+1

int main()
{
    printf("what do you get when you multiply six by nine?\n");
    printf("%i x %i = %i\n", six, nine, six*nine);
}

Dieses Programm enthält 42 verschiedene ASCII-Zeichen.


15
das ist großartig
ASKASK

41
Ich liebe die Verwendung von #define, um die Mathematik "richtig" zu machen ^^. Du bist ein Mistkerl.
Olivier Dulac

35
@mikhailcazi: Der Präprozessor wird diese Konstanten buchstäblich ersetzen, also six*ninewird 1+5*8+1das 42. Gut gemacht, Mr. Lister.
Bodo

7
@canaaerus Heilige Scheiße, das ist Genie. Bravo, Herr Lister!
Mikhailcazi

4
@mikhailcazi #definefunktioniert in C ++ genauso wie in C.
Mr Lister

137

Brainfuck

Dauerte eine Weile, um dorthin zu gelangen, aber ich mag das Ergebnis:

         +++++          +++[>+>++>
        +++>++        ++>+++++>+++++
       +>+++++       ++>+        ++++
      +++ >+++       ++++        ++>+
     +++  ++++                   ++>+
    +++   ++++                  +++>
   +++    ++++                 ++++
  +>+     ++++               ++++
 +++      +>++             ++++
++++++++>+++++++++       ++++
++>+++++++++++++++     +<<<
          <<<<        <<<<
          <<<<       <-]>
          >>>>       >>----.++++<<<<<
          <<>>       >>>>++.--<<<<<<.

Wenn es ausgeführt wird, wird es natürlich 42 ausgeben.


6
Ich werde es nicht einmal versuchen (um zu schlagen oder zu verstehen) ... Das erinnert mich an eine Menge Einträge, die ich für den International Obfuscated C Code Contest gesehen habe.
Isiah Meadows

64
Ich muss zugeben, die Schriftart des Codes zu zeigen "42" ist wunderschön ...
WallyWest

15
Ich wünschte, sie hätten den Linux-Kernel in Brainfuck geschrieben.
Devnull

10
Traurigerweise wurden Sie von grovesNL übertroffen .
Blacklight Shining

6
Genau. Ihre Schriftart sieht nicht so gut aus wie meine, aber die verschachtelte Ausgabe ist eine wirklich coole Idee. Auch ihr Code macht mehr Sinn als meiner. Ich habe die Schrift zuerst als ASCII-Kunst entworfen und dann mit dem Code herumgespielt, damit er der 220-Zeichen-Zahl der ASCII-Kunst entspricht, sodass mein Code viel sinnloses Zeug enthält.
Donarsson

133

JavaScript:

var ________ = 0.023809523809523808, ____ = 1, ___ = 0, __ = 0, _ = 1;

       __ -           ___
     /_  |0        //     \\
    /_/   0     //          \\
   /_/_  |0                //
  /_/_   |0              //
 /_/____ |_           //
/________|0        //
         |0     //______________

Die Ausgabe ist:

42

Nicht schlecht, was? :)

Für die Leute, die nicht verstehen, wird tatsächlich Folgendes ausgewertet:

__ - ___ / _ | 0 / _ / 0 / _ / _ | 0 / _ / _ | 0 / _ / ____ | _ / ________ | 0 | 0


17
Codiere JavaScript seit Jahren, habe aber keine Ahnung, was das ist facepalm
Songo

5
@CarlWitthoft Wie es funktioniert ist , dass _ein gültiger Variablenname in JavaScript ist - und so ist __, ___, ____, ________.
Zahnbürste

3
Danke vielmals. Ich werde diese (gefährlichen :-)) Informationen für die zukünftige Verwendung aufbewahren.
Carl Witthoft

2
Wer sagt, dass Programmierer nicht kreativ sind?
Jonathan

1
Als jemand, der täglich viel JavaScript schreibt ... gut gemacht, haben Sie mich eine Weile wirklich überrumpelt. Ich würde gerne daran vorbeischauen und etwas Esolang annehmen.
George Reith

76

C, zwölf Tage Weihnachtsstil

Neue Version:

main(Z,_){Z?(_=Z[" $X,X3Y<X@Z@[<XHZHX,"
"` \\(Z(X0Z0Z8[@X@^8ZHZHX(Z(`#Y(Z(X3[8"
"\\@_8ZHXHXHX(Z(` \\(Z(X0Z0Z8\\@_8ZIXI"
"X(Z(` \\,X0Z0Z8\\@_8ZHZHX,"])?main(0,_
-32),main(Z+1,_):0:(putchar((_>>3)["kt"
"wy~|tE/42"]-37),(_&7)?main(0,_-1):0);}

Ausgabe:

FFFFF OOOOO RRRR  TTTTT Y   Y    TTTTT W   W OOOOO
F     O   O R   R   T    Y Y       T   W   W O   O
FFFF  O   O RRRR    T     Y        T   W W W O   O
F     O   O R   R   T     Y        T   WW WW O   O
F     OOOOO R   R   T     Y        T   W   W OOOOO

Schauen Sie sich übrigens auch meine Antwort per SMS an .


Originalfassung:

main(c,z,_){c==1?main(c+1,0,c^c):c==2?
z=_["##$#%&#%#x'%%()&(%%x$%$((&(*%x'%"
"%((&(+%x'#%((&(%#x"],z?z=='x'?main(4,
_,c*5):main(c+1,z,0),main(c,z,_+1):0:c
==3?(_-2)==3?main(_-1,_,32):(main(c+1,
c,((2+c)*(z-35)+_)["six*nine= {   }  "
"   ;      _   ( ) [ 3 ]do {;=0xDA"]==
32?32:043),main(c,z,_+1)):putchar(_);}

Die Ausgabe ist:

##### ##### ####  ##### #   #       ##### #   # #####
#     #   # #   #   #    # #          #   #   # #   #
####  #   # ####    #     #           #   # # # #   #
#     #   # #   #   #     #           #   ## ## #   #
#     ##### #   #   #     #           #   #   # #####

Alternativer Abstand, wenn Sie sich klebrig fühlen:

        main(c     ,z,_){c==01?
       main(c+     1,0,c^c):c==2
      ?z=_["#"     "#$#%&#%#x'%%"
     "()&(%%x"             "$%$("
    "(&(""*%x"             "'%%("
   "(&(" "+%x"             "'#%("
  "(&("  "%#x"             ],z ?z
 =='x'?main(4,_     ,c*5):main(c
 +1,z,0),main(c    ,z,_+1):00:c
 ==3?(_+-2)==3?    main(_-1,_,
         32):(     main(
         c+1,c     ,((2+
         c)*(z     -35)+
         _)[""     "six"
         "*ni"     "ne= {   }   "
         "  ;"     "      _   ( "
         ") ["     " 3 ]do {;"]==
         32?32     :043),main(c,z
         ,_+1)     ):putchar(_);}

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:

0: *****  
1: **** 
2: *   * 
3:       
4: *     
5:   *   
6:  * *  
7: * * * 
8: ** ** 

Und so wird jede der 5 Pixel-Textzeilen zu einer Folge von 9 Zahlen:

00000 00000 11111 00000 22222 33333 00000 22222 00000
44444 22222 22222 55555 66666 33333 55555 22222 22222
11111 22222 11111 55555 55555 33333 55555 77777 22222
44444 22222 22222 55555 55555 33333 55555 88888 22222
44444 00000 22222 55555 55555 33333 55555 22222 00000

Zur Verschleierung (und zur Erleichterung der Programmierung) fügen wir den Zahlen das Zeichen '#' hinzu. In dem Programm unten patternsist das Array von Pixelmustern und linesdas verschleierte Array von Mustercodes für jede Zeile, abgeschlossen durch ein 'x'. Zur weiteren Verschleierung definieren wir "Ein" -Pixel in patternsals Zeichen, das kein Leerzeichen ist. Dadurch können wir mehr irreführenden Text einfügen in pattern:

#include <stdio.h>

char pattern[] = 
  "six*n"
  "ine= "
  "{   }"
  "     "
  ";    "
  "  _  "
  " ( ) "
  "[ 3 ]"
  "do {;";

char lines[] =
  "##$#%&#%#x"
  "'%%()&(%%x"
  "$%$((&(*%x"
  "'%%((&(+%x"
  "'#%((&(%#x";

void printpattern (char c) {
  int n;
  for (n = 0; n < 5; ++ n)
    putchar(pattern[5*(c-'#') + n]==32?32:'#');
  putchar(' ');
}

int main () {
  char *ptr = lines;
  while (*ptr) {
    while (*ptr != 'x')
      printpattern(*(ptr++));
    putchar('\n');
    ++ ptr;
  }
}

SCHRITT 1: Der nächste Schritt beinhaltet einige Aufgaben:

  • Entfernen Sie alle Schleifen und verwenden Sie die Rekursion.
  • Ändern Sie alle Funktionen (außer main) in das Formular int function (int, int)und verwenden Sie für jeden dieselben Parameternamen. Die Gründe werden später klar.
  • Wechseln Sie mainin das Formular int main (int, int, int)und benennen Sie die letzten beiden Parameter wie die Namen Ihrer Funktionsparameter.
  • Ersetzen Sie alle Verweise auf Zeichenfolgenkonstanten durch die Zeichenfolgen selbst. und verwenden Sie jede Zeichenfolge nur einmal, wenn möglich.
  • Das Include kann entfernt werden; es ist unnötig für int putchar (int).

Wir können auch die seltsame C-Funktion nutzen, bei der a[b]es sich um b[a]eine weitere Verschleierung handelt.

int printpattern (int z, int _) {
  if (_==5)
    putchar(' ');
  else{
    putchar((5*(z-'#') + _)["six*nine= {   }     ;      _   ( ) [ 3 ]do {;"]==32?32:'#');
    printpattern(z, _+1);
  }
  return 0;
}

// z ignored, _ is index
int printtext (int z, int _) {
  z = _["##$#%&#%#x'%%()&(%%x$%$((&(*%x'%%((&(+%x'#%((&(%#x"];
  if (z) {
    if (z == 'x')
      putchar('\n');
    else
      printpattern(z, 0);
    printtext(z, _ + 1); // first parameter arbitrary
  }
  return 0;
}

int main (int c, int z, int _) {
  printtext(0, 0);
}

SCHRITT 2: Verwenden Sie als Nächstes die Operatoren ?:und ,, um jede Funktion in eine einzelne returnAnweisung umzuwandeln . Ich illustriere dies getrennt von dem oben Gesagten, da es hier anfängt, die Dinge zu verwirren. Denken Sie daran, dass putchar()ein zurückgegeben intwird und ?:Vorrang vor ,:

int printpattern (int z, int _) {
  return _==5 ?
    putchar(' ')
  :
    (putchar((5*(z-'#') + _)["six*nine= {   }     ;      _   ( ) [ 3 ]do {;"]==32?32:'#'),
     printpattern(z, _+1));
}

// z ignored, _ is index
int printtext (int z, int _) {
  return
    z = _["##$#%&#%#x'%%()&(%%x$%$((&(*%x'%%((&(+%x'#%((&(%#x"],
    z ?
      z == 'x' ?
        putchar('\n')
      :
        printpattern(z, 0)
      ,
      printtext(z, _ + 1)
    :
    0;
}

int main (int c, int z, int _) {
  printtext(0, 0);
}

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 main1 ist, wenn das Programm ohne Argumente ausgeführt wird. Dies sollte also unser Ausgangszustand sein.

Da unser Parameter cto mainunsere Zustandsvariable ist, kennen wir seinen Wert zu jeder Zeit und können ihn ein wenig weiter verschleiern c, indem wir ganzzahlige Konstanten durch ihre Werte cersetzen, zum Beispiel, wenn wir wissen, dass es 2 ist, können wir 5 ersetzen mit c+3). Andere kleine Verschleierungen kann auch durchgeführt werden (zB I ersetzt '#'mit 35und 043):

int main (int c, int z, int _) {
  switch (c) {
  case 1: // main
    return main(c+1, 0, c^c); // (2, 0, 0)
  case 2: // printtext
    return
    z = _["##$#%&#%#x'%%()&(%%x$%$((&(*%x'%%((&(+%x'#%((&(%#x"],
    z ?
      z == 'x' ?
        putchar('\n')
      :
        main(c+1, z, 0) // c+1==3
      ,
      main(c, z, _ + 1)
    :
    0;
  case 3: // printpattern
    return (_-2)==3 ? // _==5
    putchar(' ')
    :
     (putchar(((2+c)*(z-35) + _)["six*nine= {   }     ;      _   ( ) [ 3 ]do {;"]==32?32:043),
     main(c, z, _+1));
  }
}

SCHRITT 4: Entfernen Sie abschließend den switchBlock mit einer Reihe von ?:Operatoren. Wir können auch die intDeklarationen entfernen , da C sie standardmäßig verwendet, sowie die Deklarationen returnselbst (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()mit mainund c==4unten ersetzt; weil ich gerade in letzter Minute daran gedacht habe:

main (c, z, _) {
  c == 1 ?
     main(c+1, 0, c^c)
  : c == 2 ?
    z = _["##$#%&#%#x'%%()&(%%x$%$((&(*%x'%%((&(+%x'#%((&(%#x"],
    z ?
      z == 'x' ?
        main(4,_,c*5)
      :
        main(c+1, z, 0) 
      ,
      main(c, z, _ + 1)
    :
    0
  : c==3 ?
    (_-2)==3 ? 
    main(_-1,_,32)
    :
    (main(c+1,c,((2+c)*(z-35) + _)["six*nine= {   }     ;      _   ( ) [ 3 ]do {;"]==32?32:043),
      main(c, z, _+1))
  : // c==4
    putchar(_);
}

Wenn Sie ein wenig Flair hinzufügen möchten, können Sie weitere interessante Zahlen für verwenden können cund stützen auch die Kontrollen weg von anderen Zahlen (zB für den c==2Fall, zignoriert und verfügbar, so dass anstelle des Aufrufs main(2,z,_)Sie nennen könnte main(-97,_,_)und ersetzen c==2mit c<-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 patternsZeichenfolge im bereitgestellten Programm hinzugefügt , um die richtige Zeilenlänge zu erzielen). Die Damen sind auf jeden Fall auf dem laufenden.


Soll ich die Anleitung entfernen? Ich mag das Mysterium ohne es.
Jason C

Ich habe die Antwort mit einer neuen Version aktualisiert, die kürzer ist und die Buchstaben in der Ausgabe druckt. Der Leitfaden basiert auf der Originalversion (noch vorhanden). Die neue Version speichert die Ausgabe als RLE-Daten; Die erste lange Zeichenfolge sind die Daten.
Jason C

2
Ich möchte diese Antwort +1 geben, da Sie sich die Zeit genommen haben, um das "Wie" Ihrer Lösung zu erläutern, aber es liegt derzeit bei 42 Wiederholungen, und das möchte ich nicht verderben. ;)
Adam Parkin

4
@AdamParkin Haha! Gut hier, wenn es 43 wird, ist es Ihre Aufgabe, es abzustimmen.
Jason C


63

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

String s = "Hitchhiker's Guide to the Galaxy";
String s2 = "Don'tPanic";
String s3 = "The Restaurant at the End of the Universe.";

int arthur_dent = s.length();
int ford_prefect = s2.length();
int zooey_deschanel = s3.length();
int vogon_poetry = arthur_dent + ford_prefect;

System.out.println("         " + vogon_poetry + "       " + zooey_deschanel + " " + zooey_deschanel); //in case you're confused, I'm using Zooey to print the big '2', and Vogons to print the big '4'.
System.out.println("       " + vogon_poetry + vogon_poetry + "     " + zooey_deschanel + "     " + zooey_deschanel);
System.out.println("     " + vogon_poetry + "  " + vogon_poetry + "    " + zooey_deschanel + "       " + zooey_deschanel);
System.out.println("   " + vogon_poetry + "    " + vogon_poetry + "            " + zooey_deschanel);
System.out.println(" " + vogon_poetry + "      " + vogon_poetry + "          " + zooey_deschanel);
System.out.println(vogon_poetry + " " + vogon_poetry + " " + vogon_poetry + " DA " + vogon_poetry + "     " + zooey_deschanel);
System.out.println("         " + vogon_poetry + "     " + zooey_deschanel);
System.out.println("         " + vogon_poetry + "    " + zooey_deschanel + " " + zooey_deschanel + " " + zooey_deschanel + " " + zooey_deschanel);

Hier ist die Ausgabe:

         42       42 42
       4242     42     42
     42  42    42       42
   42    42            42
 42      42          42
42 42 42 DA 42     42
         42     42
         42    42 42 42 42 

Stellen Sie sich mein Elend vor, als ich zählte und herausfand, dass "Das Restaurant am Ende des Universums" 41 Zeichen hatte! : / Seufz.


2
warum gibt es ein "DA" in der Ausgabe? ist es beabsichtigt?
Mhmd

14
@ user689 D ouglas A dams :)
mikhailcazi

9
Tatsächlich ist 41 in gewisser Weise auch DA (D ist der vierte Buchstabe, A ist der erste). Kopf hoch!
Vadchen

11
4-1 = 3 bedeutet, • _ •) (• _ •)> ⌐ ■ - ■ (⌐ ■ _ ■) Halbwertszeit 3 ​​bestätigt.
Mohd Abdul Mujib

17
Das Restaurant am Ende des Universums hat 41 Zeichen + "\ 0": DDD
enterx

59

Mathematica

Nimm 1

Mit ein bisschen Arbeit sollte ich in der Lage sein, das ein bisschen herunter zu spielen. :)

In InputForm:

answer[ultimateQuestion[Life,theUniverse,Everything]] =
  Times[Plus[-1,Limit[Power[Plus[1,Times[Complex[0,1],
  Power[n,-1],Pi]],n],Rule[n,DirectedInfinity[1]]]],Sqrt[-1]^2,
  Times[Rational[1,2],Plus[-1,Fibonacci[4]],Fibonacci[2]],
  Binomial[3,2],LucasL[4]]

In TraditionalForm:

zweiundvierzig

Testen:

answer[ultimateQuestion[Life,theUniverse,Everything]] 

42


Nimm 2

Hinweis: Die Ziffern wurden wie folgt erstellt.

  • "42" wurde zuerst in sehr großer Schrift auf dem Bildschirm gedruckt, Achsen wurden angezeigt, damit die Koordinaten der Schlüsselpunkte identifiziert werden konnten.
  • Eine weitere "4" war eine breite gerade Linie, die die jeweiligen Schlüsselpunkte verband. Es wurde der zuvor gezeichneten "4" überlagert, um die Genauigkeit zu überprüfen. Die "2" wurde als BSpline-Kurve gezeichnet. Einige der Schlüsselpunkte, die jetzt Kontrollpunkte waren, mussten durch Ausprobieren in Position gebracht werden, um die gewünschten Kurven zu erhalten.
  • Eine dritte Koordinate (immer Null) wurde zur Linie und BSplineCurve hinzugefügt, um die 3D-Anzeige zu ermöglichen.

answer[ultimateQuestion[Life,theUniverse,Everything]]  = 
 Table[With[{v = RotationTransform[θ, {0, 0, 1}][{3, 0, -.2}]},
   Graphics3D[{Thickness[.06], CapForm["Round"],
     Tube[Line[{{-67, 0, -44}, {-30, 0, -44}}], 10],
     Tube[
      Line[{{-25, 0, -12}, {-100, 0, -12}, {-52, 0, 70}, {-45, 0, 70}, {-45, 0, -43}}], 10], 
     Tube[BSplineCurve[l = {{27, 0, 52}, {27, 0, 57}, {57, 0, 85}, {113, 0, 40}, 
     {12, 0, -45}, {35, 0, -45}, {90, 0, -45}, {90, 0, -45}, {92, 0, -35}}], 10]},
     Boxed -> False, PlotRange -> 100, ImageSize -> 250, SphericalRegion -> True, 
     ViewPoint :> v, 
     PlotRangePadding -> 10]],(*{θ,0,2Pi,Pi/24},*){θ, -Pi/2, -Pi/2 + 2 Pi, Pi/24}]

Export["theMeaningOfLife.gif", answer[ultimateQuestion[Life,theUniverse,Everything]] ]

Nimm 2


1
Zum Glück ist es keine
Golffrage

1
Vielen Dank. Mathematica bietet sicherlich viele Möglichkeiten zum Erkunden.
DavidC

3
Nett; Ich wünschte, ich könnte in die Vergangenheit reisen und diese Grafik auf geocities.com/42 stellen, haha.
Jason C

57

Scheint angebracht:

grep -i "DON'T" /bin/lesspipe | wc -l ; grep -i "PANIC" /usr/share/pyshared/mx/Log.py | head -n 1 | cut -d '=' -f 2 | tr -d ' '

Ausgabe:

4
2

Ubuntu 12.04, 64-Bit-Desktop


23
+1 für keine Panik
Milo

Es wäre ein Bash-Ismus, 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.
Mike Renfro


@MikeRenfro Wie ist das ein Bashishm? $()wird durch den POSIX-Standard festgelegt .
nyuszika7h

Richtig, ich bin offensichtlich veraltet. Als ich das letzte Mal nachgesehen habe (vor vielen Jahren), dachte ich, dass es das war. Könnte dann auch falsch gewesen sein.
Mike Renfro

45

Windows-Rechner

Multiplizieren Sie Pi mit 13,37 und ignorieren Sie die Dezimalstelle:P

Zweiundvierzig


17
+1, weil Brüche definitiv nicht 1337 sind.
Jason C

1
Der Taschenrechner eines Programmierers wäre besser gewesen, aber dieser Taschenrechner hat nicht (Kuchen)
Mukul Kumar

1
1337 * math.pi / 100
chroman

11
round (1337 * math.pi / 100) <- Eine kleine Änderung, da pie rund ist.
Kevin

41

Python

Ich denke, es funktioniert nur unter Windows 7.

import win32api, win32con, win32gui
from time import time, sleep
import os

w = { 1:[(358, 263), (358, 262), (358, 261), (359, 261), (359, 262), (359, 264), (359, 266), (359, 270), (359, 282),
     (358, 289), (357, 308), (356, 319), (355, 341), (355, 351), (355, 360), (355, 378), (355, 388), (354, 397),
     (354, 406), (354, 422), (354, 428), (354, 436), (354, 438), (354, 439), (354, 440), (355, 440), (356, 439),
     (357, 439), (358, 438), (360, 438), (362, 437), (369, 437), (372, 437), (381, 437), (386, 437), (391, 437),
     (397, 436), (411, 436), (419, 435), (434, 435), (442, 435), (449, 434), (456, 434), (468, 434), (473, 435),
     (480, 436), (483, 436), (485, 436), (487, 437), (488, 437), (488, 438), (488, 439), (487, 440), (486, 440),
     (485, 440), (484, 440), (483, 439), (483, 437), (481, 431), (481, 427), (481, 420), (481, 413), (483, 396),
     (485, 387), (488, 367), (491, 356), (493, 345), (500, 321), (503, 310), (507, 299), (514, 280), (517, 272),
     (520, 266), (523, 260), (524, 258), (524, 259), (524, 261), (524, 265), (524, 269), (523, 275), (522, 289),
     (521, 297), (518, 315), (516, 324), (515, 334), (513, 345), (509, 368), (507, 382), (502, 411), (500, 426),
     (498, 440), (495, 453), (491, 478), (489, 491), (485, 517), (483, 530), (481, 542), (479, 552), (476, 570),
     (475, 577), (474, 588), (473, 592), (473, 595), (473, 597), (473, 600), (473, 601), (473, 602), (473, 601),
     (474, 599), (475, 597), (476, 594), (478, 587)],
  2:[(632, 305), (634, 306), (636, 309), (639, 314), (641, 319), (645, 330), (647, 337), (649, 353), (649, 362),
     (649, 372), (649, 384), (645, 409), (639, 436), (636, 448), (632, 459), (627, 470), (623, 479), (613, 497),
     (608, 503), (599, 512), (595, 514), (591, 514), (587, 513), (581, 504), (578, 498), (576, 483), (575, 476),
     (575, 469), (579, 454), (582, 447), (591, 436), (595, 432), (600, 430), (605, 429), (617, 432), (624, 437),
     (639, 448), (646, 455), (654, 461), (662, 469), (679, 484), (686, 491), (702, 504), (710, 509), (718, 512),
     (727, 514), (744, 515), (752, 515), (767, 512), (774, 510), (779, 508), (783, 505), (788, 499), (789, 495),
     (789, 486)] }

def d( x1, y1, x2, y2 ):
    win32api.SetCursorPos((x1, y1))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
    win32api.SetCursorPos((x2, y2))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
    sleep(0.01)

def p( l1 ):
    l2 = [""]
    l2.extend(l1)
    l1.append("")
    l3 = zip(l2, l1)
    l3.pop(0)
    l3.pop(-1)
    for n in l3:
        d(n[0][0], n[0][1], n[1][0], n[1][1])

os.startfile("C:\Windows\system32\mspaint.exe")
sleep(0.5)
win32gui.ShowWindow(win32gui.GetForegroundWindow(), win32con.SW_MAXIMIZE)
sleep(0.5)

for n in w:
    p(w[n])

Das Ergebnis ist das Öffnen von Paint und das Malen von 42 als freie Hand.

42


1
Ich habe kein win32api :( Wollte das sehen ... Trotzdem +1: D
Timtech

Ich benutze kein Windows, daher kann ich es nicht ausführen. aber dein Weg ist genial .
pushpen.paul

3
Ich wollte das positiv bewerten, aber das hat genau 42 positive Bewertungen, ich möchte das nicht durcheinander bringen.
Rohcana,

39

Java (Swing)

Daraufhin wird ein Rahmen mit der Antwort angezeigt . Es wird nur 42für Werte verwendet.

public        class         FourtyTwo{ public
static         void         main(String[]args)
{  new        javax                    .swing.
JFrame        () {{                    setSize
(42 /(        42/42                    +42/42)
*42/ (        42/42                    +42/42)
,42/(42/ 42+42/42)*         42/(42/42+42/42));
}public void paint(         java.awt .Graphics
  g){g.drawPolygon(         new int[]{42,42,42
              + 42+         42,42+
              42+42         ,42+42
              +42 +         42,42+
              42+42         +42,42
              + 42+         42,42+42+42,42+42,
              42+42         },new int[]{42,42+
              42+42         +42,42+42+42+42,42

+42+42+42+42+42,                  42+42+
42+42+42+42,42,42,               42+42+42
,42 +        42+42              ,42}, (42/
42+42        /42)*              (42/  42 +
42/42        + 42/             42 +    42 /
42+42        /42))            ;g.drawPolygon
( new        int[]           {42+42+42+42+42,
42+42        +42 +           42+42      , 42+
42+42        + 42+          42+42        + 42,
42+42        +42 +          42+42        +42 +
42,42+42+42+42+42,         42+42          + 42+
42+42,42+ 42+42+           42+42          +42 +

42+42,42+42+42+42+42+42+42+42,42+42+42+42+42+42,
42+42+42+42+42+42,42+42+42+42+42+42+42+42,42+42+
42+42+42+42+42+42},new int[]{42,42 +42,42+42,42+
42+42,42+42+42,42+42+42+42+42+42,42+42+42+42+42+
42,42+42+42+42+42,42+42+42+42+42,42+42+42+42,42+
42+42+42,42},(42/42+42/42+42/42)*((42/42+42/42)*
(42/42+42/ 42)));};}.setVisible(42*42*42!=42);}}

14
+1 für den Block "Ich-habe-gerade-eine-Tonne-Zeit-für-Formatierung-ausgegeben-und-ich-habe-wirklich-keine-Lust-,-die-Reste-in-zu bearbeiten" unten, Haha.
Jason C

3
@JasonC Genau das habe ich mir gedacht! ; D Morgen werde ich an einem Programm arbeiten, das Code nach ASCII-Art formatiert, und ich werde reich sein!
Bobbel

Ich fing an, dies mit meinem zu tun und gab schnell auf. Gute Arbeit.
ChiefTwoPencils

28

Mathematica

WolframAlpha["meaning of life", {{"Result", 1}, "Content"}]

42

obwohl ich denke, dass es wirklich betrügt, da es hart codiert ist. Und nicht sehr kreativ meinerseits ... :)


28

Rubin

Es ist allgemein bekannt, was Sie erhalten, wenn Sie sechs mit neun multiplizieren . Dies gibt eine Lösung:

puts (6 * 9).to_s(13)

Python

Eine Variante von Tuppers selbstreferenzieller Formel :

# Based loosely on http://www.pypedia.com/index.php/Tupper_self_referential_formula
k = 17 * (
    (2**17)**0 * 0b11100000000000000 +
    (2**17)**1 * 0b00100000000000000 +
    (2**17)**2 * 0b00100000000000000 +
    (2**17)**3 * 0b11111000000000000 +
    (2**17)**4 * 0b00100000000000000 +
    (2**17)**5 * 0b00000000000000000 +
    (2**17)**6 * 0b01001000000000000 +
    (2**17)**7 * 0b10011000000000000 +
    (2**17)**8 * 0b10011000000000000 +
    (2**17)**9 * 0b01101000000000000 +
0)
# or if you prefer, k=int('4j6h0e8x4fl0deshova5fsap4gq0glw0lc',36)

def f(x,y):
    return y // 17 // 2**(x * 17 + y % 17) % 2 > 0.5
for y in range(k + 16, k + 11, -1):
    print("".join(" @"[f(x, y)] for x in range(10)))

Ausgabe:

@  @   @@ 
@  @  @  @
@@@@@    @
   @   @@ 
   @  @@@@

2
Wie Ihr Wikipedia-Link verdeutlicht, lehnt DNA die erste Methode zur Herstellung von 42 leider ab: "Es mag mir leid tun, aber ich schreibe keine Witze in die Basis 13."
LSpice

26

Javascript

alert((!![]+ -~[])*(!![]+ -~[])+""+(!![]+ -~[]))

3
Ein weiterer, der mir einen WTF-Moment verschaffte, bis ich es merkte true == 1.
George Reith

12
WARNEN! SELTSAME ASCII-CATERPILLARS! VERWENDEN SIE EXTREME VORSICHT!
Jason C

Verwenden Sie []anstelle von ""( [] == '')! alert((!![]+-~[])*(!![]+-~[])+[]+(!![]+-~[]))
Zahnbürste

(!-[] === true) && (!~[] === false). Sie können auch Ersatz {}für [].
Zahnbürste

1
Wie wäre es (!!{}+!-[]<<-~{})+[]+(!-[]+-~[])?
Zahnbürste


23

Viertens:

SCR # 1
 0 ( FORTY-TWO @ ES-FORTH )
 1 HEX 0 24 -31 21 -31 31 -31
 2 31 -14 51 11 -11 51 11 -11 23 31
 3 : T SWAP 0 DO DUP EMIT LOOP DROP ;
 4 : K BEGIN DUP WHILE DUP 0< IF CR
 5  ABS THEN 10 /MOD 20 T A0 T
 6  REPEAT DROP ;
 7 K CR

Diese 1 LOAD Ausgänge:

   █  ███
 █ █     █
 █ █     █
 ████   █
   █   █
   █  █
   █  ████


21

R

sum(as.numeric(factor(unlist(strsplit(gsub(" |[.]","","D. ADAMS"),"")),levels=LETTERS)))

Ergebnis:

42

18

Java

public class MainProgram {    
    public static void main(String[] args) {
        int[] the      = { 'T', 'h', 'e' };
        int[] most     = { 'M', 'o', 's', 't' };
        int[] creative = { 'C', 'r', 'e', 'a', 't', 'i', 'v', 'e' };
        int[] way      = { 'W', 'a', 'y' };
        int question   = '?';

        double x = -3.18906605923E-2;

        int The      = 0;
        int Most     = 0;
        int Creative = 0;
        int Way      = 0;

        for(int i : the) {
            The += i;
        }
        for(int i : most) {
            Most += i;
        }
        for(int i : creative) {
            Creative += i;
        }
        for(int i : way) {
            Way += i;
        }
        System.out.println((int)((The*x)-(Most*x)-(Creative*x)-(Way*x)-(question*x)));      
    }//SSCE
}//good1

Ausgabe:

42


2
+1 für die Anwendung einer interessanten linearen Gleichung, gute Arbeit!
Rekursion.ninja

17

SWI-Prolog, wer?

?- X.

Ausgabe:

% ... 1,000,000 ............ 10,000,000 years later
% 
%       >> 42 << (last release gives the question)

Dies ist noch fauler als die Mathematica-Calling-Wolfram-Alpha, aber hey!


3
Willkommen bei Code-Golf! Vergessen Sie nicht, eine Erklärung hinzuzufügen, warum diese Antwort kreativ ist!
Justin

3
@Quincunx Es ist ein Osterei in SWI-Prolog.
Svick

15

Linux-Shell

Folgendes habe ich 1999 geschrieben und damals als Usenet-Signatur verwendet.

echo "what is the universe"|tr "a-z " 0-7-0-729|sed 's/9.//g;s/-/+/'|bc

Bearbeiten: Ha! Dies war die 42. Antwort.


15

PHP-Version:

 echo strlen("Douglas Adams")+strlen("born on")+array_sum(array(1,1,0,3,1,9,5,2));
 /* array(1,1,0,3,1,9,5,2) => March 11, 1952 */

JavaScript-Version:

 console.log("Douglas Adams".length + "born on".length + [1,1,0,3,1,9,5,2].reduce(function(previousValue, currentValue, index, array){return previousValue + currentValue;}));

 /* [1,1,0,3,1,9,5,2] => March 11, 1952 */

Ausgabe:

 42

2
Ich werde nie verstehen, wie ein vernünftiger Mensch ein Datum in dieser Reihenfolge schreiben kann. Die Tatsache, dass Sie dort einen Kommentar einfügen müssen, beweist, wie nutzlos dieses Format ist.
Bodo

1
@canaaerus Ich habe gerade das Datum in einem bestimmten Format verwendet, damit es von einem Programm verarbeitet werden kann, um zu gelangen 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.
Palerdot

24
@canaaerus Ich werde auch nie verstehen, wie Amerikaner Daten schreiben können mm/dd/yy. Wenn Sie sagen 04/03/11, ich würde es als den 4. März 2011 lesen - nicht den 3. April.
Zahnbürste

7
@palerdot. Soweit ich weiß, schreiben nur US-Amerikaner (und gelegentlich Kanadier) Daten auf diese seltsame, verwirrende "Middle-Endian" -Methode.
TRiG

2
@TRiG: Was erwartest du? Abgesehen von denen von uns in Wissenschaft und Technik meiden wir auch das intuitivere und logischere metrische System.
ChiefTwoPencils

15

dc

$ dc <<< "1 8 sc 1 5 lc *++p"
42

Der Versuch, sich zu vermehren 1+8und 5+1zu bekommen 42. Es sieht so aus, als hätte die Unkenntnis des Vorrangs des Operators dazu geführt 42.


Python

>>> p = lambda x: x%2!=0 and True<<x
>>> sum(p(i) for i in range(0,6))

Ausgabe: 42


Bash

(Multiplizieren 6mit 9)

$ echo "obase=13;6*9"|bc|figlet
 _  _  ____
| || ||___ \
| || |_ __) |
|__   _/ __/
   |_||_____|

C

#include <stdio.h>
int main(){printf("%d",fprintf(fopen("/dev/null","w"), "so-popularity-contest\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"));}

Ausgabe: 42

  • Haben Sie die Verwendung von Backspace-Zeichen bemerkt?
  • Wissen Sie, was diese zur Folge haben?

Nein .. bitte erklären!
Antonio Ragagnin

Die Rücktaste füllt die Zeichenfolge mit einer Länge von 42 Byte auf. Also wird zuerst fopen verwendet, um das Null-Gerät für den Schreibzugriff zu öffnen. Dann schreibt fprintf 42 Bytes auf null und gibt die Anzahl der geschriebenen Bytes zurück. Schließlich wird 42 mit der Formatzeichenfolge "% d" der printf-Funktion formatiert, um 42 anzuzeigen. Ich mag es!
CasaDeRobison

12

Brainf ** k

- [   --
- -     -
>+<]  >+
  .   --.

Hängt das von einem Überlauf im Interpreter ab?
Cruncher

Ja, es sieht so aus, als würde es einen Überlauf auf 255 annehmen. 255/5 = 51 + 1 = 52, was dem Zeichencode für 4 entspricht. Ich glaube nicht, dass alle Interpreten dies tun, aber +1
Cruncher

@Cruncher Es werden 8-Bit-Umbruchzellen benötigt. Dies ist der am häufigsten vorkommende Typ.
Timtech

12

C ++

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)66<<(char)73<<(char)82;
    cout<<(char)84<<(char)72<<(char)32;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)68<<(char)69;
    cout<<(char)65<<(char)84<<(char)72;
    cout<<(char)32<<(char)32<<'\n';
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)32<<(char)95;
    cout<<(char)95<<(char)95<<(char)32;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)95<<(char)95;
    cout<<(char)95<<(char)95<<(char)95;
    cout<<(char)95<<(char)32<<'\n';
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)47<<(char)32;
    cout<<(char)32<<(char)32<<(char)124;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)124<<(char)32<<(char)32;
    cout<<(char)95<<(char)95<<(char)32;
    cout<<(char)32<<(char)124<<'\n';
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)47<<(char)32<<(char)47;
    cout<<(char)124<<(char)32<<(char)124;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)124<<(char)95<<(char)124;
    cout<<(char)32<<(char)32<<(char)124;
    cout<<(char)32<<(char)124<<'\n';
    cout<<(char)32<<(char)32<<(char)47;
    cout<<(char)32<<(char)47<<(char)32;
    cout<<(char)124<<(char)49<<(char)124;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)32<<(char)47;
    cout<<(char)50<<(char)124<<'\n';
    cout<<(char)32<<(char)47<<(char)32;
    cout<<(char)47<<(char)32<<(char)32;
    cout<<(char)124<<(char)57<<(char)124;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)84<<(char)79<<(char)32;
    cout<<(char)32<<(char)47<<(char)48;
    cout<<(char)47<<(char)32<<'\n';
    cout<<(char)47<<(char)32<<(char)47;
    cout<<(char)95<<(char)95<<(char)95;
    cout<<(char)124<<(char)53<<(char)124;
    cout<<(char)95<<(char)95<<(char)32;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)47<<(char)48<<(char)47;
    cout<<(char)32<<(char)32<<'\n';
    cout<<(char)124<<(char)95<<(char)95;
    cout<<(char)95<<(char)95<<(char)95;
    cout<<(char)124<<(char)50<<(char)124;
    cout<<(char)95<<(char)95<<(char)124;
    cout<<(char)32<<(char)32<<(char)47;
    cout<<(char)49<<(char)47<<(char)32;
    cout<<(char)32<<(char)32<<'\n';
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)124<<(char)32<<(char)124;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)47<<(char)32;
    cout<<(char)47<<(char)32<<(char)32;
    cout<<(char)32<<(char)32<<'\n';
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)124<<(char)32<<(char)124;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)47<<(char)32<<(char)47;
    cout<<(char)95<<(char)95<<(char)95;
    cout<<(char)95<<(char)32<<'\n';
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)32<<(char)32<<(char)32;
    cout<<(char)124<<(char)95<<(char)124;
    cout<<(char)32<<(char)32<<(char)124;
    cout<<(char)95<<(char)95<<(char)95;
    cout<<(char)95<<(char)95<<(char)95;
    cout<<(char)95<<(char)124<<'\n';
    getch();
    return 0;
}  

Ausgabe

Bildbeschreibung hier eingeben


Ausgabe: 1> c: \ users \ 1 und 2 ist 3 \ documents \ visual studio 2012 \ projects \ consoleapplication1 \ consoleapplication1 \ consoleapplication1.cpp (87): Fehler C4996: 'getch': Der POSIX-Name für dieses Element ist veraltet. Verwenden Sie stattdessen den ISO C ++ - konformen Namen: _getch. Weitere Informationen finden Sie in der Online-Hilfe.
Hosch250

Cool, sobald ich es repariert habe.
Hosch250

@ user2509848 was war der fehler?
Mukul Kumar

Hat es im ersten Kommentar gepostet. Visual Studio wollte getchsein _getchstatt.
Hosch250

12

JavaScript

window.location = "https://www.google.nl/search?q=the+answer+to+life+the+universe+and+everything";

Ausgänge 42.


12

J

Symmetrischer Einzeiler ohne alphanumerische Zeichen.

   _<.>.>_ (=(+^:]) ~=(-*-)=~ ([:^+)=) _<.<.>_

Ausgänge 42.

Die Hauptberechnung ist:

Obergrenze (1 + (1 - e ^ 2) ^ 2) = 42


11

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.

String.prototype.answer = function() { alert(this.charCodeAt(+!"The End of the Universe")); };
'*'.answer();

2
Ich stelle es mir lieber als einen Kleene-Stern vor .
Primo

Sie könnten auch schreiben"The End of the Universe"|0
Zahnbürste

10

PHP

Fragen Sie WolframAlpha. Hier ist ein Code, der die WolframAlpha-API verwendet, um das Ergebnis einer bestimmten Suchabfrage abzurufen:

<?php

$searchTerm = "What's the answer to life, universe and everything?";

$url = 'http://api.wolframalpha.com/v2/query?appid=APLTT9-9WG78GYE65&input='.urlencode($searchTerm);
$xml = file_get_contents($url);

$xmlObj = simplexml_load_string($xml);
$plaintext = $xmlObj->xpath('//plaintext')[1];
$answer = preg_replace('/\D/', '', $plaintext);

echo $answer;

Ausgabe:

42

Arbeitsdemo


1
Ins Netzwerk zu gehen, wenn man es wirklich nicht braucht, scheint mir nicht sehr kreativ, zumal es ein weit verbreitetes Anti-Pattern ist.
Blacklight Shining
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.