Cara paling kreatif untuk menampilkan 42

386

Douglas Adams lahir pada 11 Maret 1952, dan meninggal ketika dia baru berusia 49 tahun. Untuk menghormati penulis yang luar biasa ini, saya menantang Anda untuk menampilkan 42 dengan cara yang paling kreatif.

Anda dapat mencetaknya di log, melalui beberapa metode berbelit-belit, atau menampilkannya sebagai seni ASCII, atau apa pun! Hanya datang dengan metode kreatif menampilkan 42.

Karena kontes-popularitas ini, jawaban mana yang paling banyak mendapat dukungan pada 11 Maret, akan dinyatakan sebagai pemenang.

Catatan: ini bukan duplikat. Pertanyaan itu ditandai sebagai duplikasi adalah pertanyaan troll kode yang tujuannya adalah untuk menulis kode ke output 42, tidak menemukan cara paling kreatif untuk menampilkannya .

Pemenang: grovesNL! Dengan suara 813 yang mengejutkan! Selamat!

Sebutan Terhormat:

Mr Lister C 228 Untuk penggunaan #define yang cerdas

David Carraher Mathematica 45 Untuk mencapai fungsi matematika yang rumit dan berbelit-belit untuk mencapai 42

Aschratt Windows Calculator 20 Karena, well, ini adalah windows calculator Dan tentunya 1337.

f.rodrigues Python 17 Karena penggunaan cerdas menggunakan program eksternal. Dan MSPaint

Jason C LMGTFY 14 Untuk penggunaan LMGTFY (Let Me Google That For You)

Trimsty Python 12 Untuk penggunaan pesan kesalahan yang pintar ke keluaran 42.

Mukul Kumar C ++ 7 Untuk output ASCII yang bagus.

Jika Anda berpikir bahwa ada jawaban lain yang layak dimasukkan dalam daftar, beri komentar!

Milo
sumber
6
Pertanyaan tertutup lama adalah troll kode, yaitu, apa pun yang tidak menunjukkan 42 di samping muncul untuk melakukannya atau melakukannya dengan cara yang benar-benar mengerikan. Yang ini bukan kode-trolling, artinya outputnya harus benar-benar bagus. Karenanya itu bukan duplikat.
Victor Stafusa
2
@DanDascalescu Situs SE ini memiliki banyak pertanyaan tanpa persyaratan yang ketat, yang memungkinkan pengguna untuk menggunakan kebebasan kreatif dalam jawaban mereka. Terkadang terlalu banyak batasan dapat menghambat ekspresi kreativitas
grovesNL
9
Pertanyaannya harus tetap di 42 suara.
Zero Fiber
28
Marvin The Robot "Saya akan memposting jawaban saya yang brilian, tetapi Anda mungkin akan memilihnya. Menjadi benar sepanjang waktu begitu menyedihkan."
Reactgular
3
Bisakah kita mendapatkan 42 favorit?
Milo

Jawaban:

843

Brainfuck ganda

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

yang menghasilkan ...

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

yang menghasilkan ...

6*7=42
grovesNL
sumber
92
Saya selalu berpikir ada sesuatu yang secara fundamental salah dengan alam semesta.
mfitzp
147
Seharusnya begitu 6*9=42.
Proksi
17
@ Proxy: Benar, tapi kadang-kadang referensi itu hilang pada pemirsa, bahkan meskipun konteksnya ... ;-)
grovesNL
19
@ IsmaelMiguel: Itu 10 basis Anda ...
Dennis
26
Saya membatalkan seluruh pertanyaan agar orang-orang dapat melihat jawaban ini.
Michael Stern
329

C

Ini sebuah oldie tapi 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);
}

Program ini berisi 42 karakter ASCII berbeda.

Tuan Lister
sumber
15
itu luar biasa
ASKASK
41
Saya suka menggunakan #define untuk mendapatkan matematika "benar" ^^. Anda adalah orang bodoh.
Olivier Dulac
35
@mikhailcazi: Preprocessor akan menggantikan konstanta-konstanta itu secara harfiah, jadi six*ninemenjadi 1+5*8+142. Baik, Tuan Lister.
Bodo
7
@canaaerus Sialan, itu jenius. Bravo, Tuan Lister!
mikhailcazi
4
@mikhailcazi #definebekerja di C ++ dengan cara yang persis sama seperti di C.
Mr Lister
137

Brainfuck

Butuh beberapa saat untuk sampai ke sana, tapi saya suka hasilnya:

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

Saat dijalankan, itu akan mencetak 42, tentu saja.

Donarsson
sumber
6
Bahkan tidak akan mencoba (untuk mengalahkan atau memahami) ... Itu mengingatkan saya pada banyak entri yang pernah saya lihat untuk Kontes Kode C Internasional yang Dikacaukan.
Isiah Meadows
64
Saya harus akui, gaya font dari kode untuk menunjukkan "42" sangat cantik ...
WallyWest
15
Saya berharap mereka menulis kernel Linux di brainfuck.
devnull
10
Sayangnya, Anda sudah kalah oleh grovesNL .
Blacklight Shining
6
Saya setuju. Font mereka tidak terlihat sebagus milik saya, tetapi output bersarang adalah ide yang sangat keren. Juga kode mereka lebih masuk akal daripada milikku. Saya pertama-tama mendesain font sebagai ascii art dan kemudian bermain-main dengan kode untuk membuatnya sesuai dengan 220 karakter dari ascii art, jadi kode saya mengandung banyak hal yang tidak berguna.
Donarsson
133

JavaScript:

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

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

Outputnya adalah:

42

Tidak buruk, kan? :)

Untuk orang yang tidak mengerti, itu sebenarnya mengevaluasi hal-hal berikut:

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

Sikat gigi
sumber
17
Sudah
Songo
5
@CarlWitthoft Cara kerjanya adalah bahwa _adalah nama variabel yang valid dalam JavaScript - dan jadi adalah __, ___, ____, ________.
Sikat gigi
3
Terimakasih banyak. Saya akan menyimpan info (berbahaya :-)) itu untuk digunakan di masa depan.
Carl Witthoft
2
Siapa bilang programmer tidak kreatif!
Jonathan
1
Sebagai seseorang yang menulis banyak JavaScript setiap hari ... dilakukan dengan baik, Anda benar-benar membuat saya bingung untuk sementara waktu. Saya dengan senang hati melihat-lihat melewatinya dan mengambil beberapa esolang.
George Reith
76

C, Dua Belas Hari Gaya Xmas

Versi baru:

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);}

Keluaran:

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

Ngomong-ngomong, periksa juga jawaban text-to-speech saya .


Versi asli:

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(_);}

Outputnya adalah:

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

Penjarangan alternatif, jika Anda merasa norak:

        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(_);}

Program ini adalah pernyataan rekursif tunggal. Saya membuatnya dengan gaya program C favorit saya yang membingungkan, Twelve Days of Christmas (kompilasi, persiapkan pikiran untuk dihembuskan, lari).


BAGAIMANA CARA

Juga, karena ini sepertinya tempat yang sama baiknya dengan yang lain, berikut adalah panduan yang menjelaskan bagaimana membuat program jenis ini. Panduan ini menggunakan versi asli di atas sebagai contoh. Selain bit pertama dengan huruf besar, mereka adalah langkah-langkah umum:

AWAL: Pertama, saya mulai dengan membuat huruf besar:

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

Saya kemudian membuat daftar pola-pola unik bernomor di setiap baris karakter 5-kolom:

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

Dan masing-masing baris teks 5 piksel menjadi serangkaian 9 angka:

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

Untuk kebingungan (dan kemudahan pemrograman) kami menambahkan karakter '#' ke angka. Dalam program di bawah ini, patternsadalah susunan pola piksel, dan linessusunan kode pola yang dikaburkan untuk setiap baris, diakhiri oleh 'x'. Untuk kebingungan lebih lanjut, kami mendefinisikan piksel "on" patternsmenjadi karakter apa pun yang bukan spasi; ini memungkinkan kami menempatkan lebih banyak teks yang menyesatkan 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;
  }
}

LANGKAH 1: Langkah selanjutnya melibatkan beberapa tugas:

  • Hapus semua loop dan gunakan rekursi.
  • Ubah semua fungsi (kecuali utama) ke formulir int function (int, int)dan gunakan nama parameter yang sama untuk masing-masing. Alasannya akan menjadi jelas nanti.
  • Ubah mainke formulir int main (int, int, int)dan beri nama dua parameter terakhir sama dengan nama parameter fungsi Anda.
  • Ganti semua referensi ke konstanta string dengan string itu sendiri; dan gunakan setiap string hanya sekali jika memungkinkan.
  • Sertakan dapat dihapus; itu tidak perlu untuk int putchar (int).

Kita juga dapat memanfaatkan fitur C aneh di mana a[b]setara b[a]dengan mengaburkan lebih lanjut.

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);
}

LANGKAH 2: Selanjutnya, gunakan operator ?:dan ,untuk mengubah setiap fungsi menjadi satu returnpernyataan. Saya menggambarkan ini secara terpisah dari yang di atas karena di sinilah hal-hal mulai membingungkan untuk dilihat. Ingat bahwa putchar()mengembalikan suatu int, dan ?:diutamakan ,:

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);
}

LANGKAH 3: Oke. Langkah selanjutnya adalah langkah besar. Semua fungsi sekarang merupakan pernyataan tunggal dari bentuk yang sama. Kita sekarang dapat menggabungkan semuanya menjadi satu fungsi, mengidentifikasi masing-masing dengan angka - pada dasarnya mengubah seluruh program menjadi fungsi rekursif tunggal. Perhatikan bahwa parameter pertama yang mainakan menjadi 1 ketika program dijalankan tanpa argumen, sehingga harus menjadi keadaan awal kita.

Juga, karena parameter kita cuntuk mainvariabel negara kita, kita tahu nilainya setiap saat, dan kami dapat mengaburkan sedikit lebih jauh dengan mengganti konstanta bilangan bulat dengan nilai-nilai mereka dalam hal c(misalnya, ketika kita tahu cadalah 2, kita dapat mengganti 5 dengan c+3). Kebingungan kecil lainnya dapat dilakukan juga (misalnya saya diganti '#'dengan 35dan 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));
  }
}

LANGKAH 4: Akhirnya, lepaskan switchblok dengan menggunakan serangkaian ?:operator. Kami juga dapat menghapus intdeklarasi, karena C akan menggunakannya secara default, dan juga returndirinya sendiri (yang akan menghasilkan peringatan paling buruk). Setelah ini, program kami adalah fungsi tunggal, rekursif dengan satu pernyataan. Cukup keren, bukan?

Sunting: Saya diganti putchar()dengan a maindan di c==4bawah ini; karena saya hanya memikirkannya pada menit terakhir:

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(_);
}

Jika Anda ingin menambahkan sedikit bakat, Anda dapat menggunakan nomor yang lebih menarik untuk cdan bahkan mendasarkan cek dari nomor lain (misalnya untuk c==2kasing, zdiabaikan dan tersedia, jadi alih-alih menelepon main(2,z,_)Anda dapat menelepon main(-97,_,_)dan mengganti c==2dengan c<-z). Jadilah kreatif; kemungkinannya tidak terbatas.

FINISH: Langkah terakhir, kemudian, adalah mengatur teks dalam beberapa pola kreatif, dan voila! Anda dapat menyesuaikan sedikit kode untuk membantu memformat (misalnya saya menambahkan beberapa data tambahan di akhir patternsstring dalam program yang diposting untuk membantu mendapatkan panjang garis yang benar). Para wanita yakin semuanya terserah.

Jason C
sumber
Haruskah saya menghapus panduan ini? Aku suka misteri tanpa itu.
Jason C
Saya telah memperbarui jawabannya dengan versi baru yang lebih pendek dan mencetak huruf-huruf dalam output. Panduan ini didasarkan pada versi asli (masih ada). Versi baru menyimpan output sebagai data RLE; string panjang pertama adalah data.
Jason C
2
Saya sangat ingin memberi +1 jawaban ini mengingat Anda meluangkan waktu untuk menjelaskan "bagaimana" di balik solusi Anda, tetapi saat ini di 42 rep, dan saya tidak ingin merusak itu. ;)
Adam Parkin
4
@AdamParkin Haha! Nah di sini, jika sampai ke 43, itu tugas Anda untuk menurunkannya.
Jason C
66

Saya merasa malas.

Python

t
h
e
a
n
s
w
e
r
t
o

l
i
f
e

t
h
e
u
n
i
v
e
r
s
e

a
n
d
e
v
e
r
y
t
h
i
n
g:

Keluaran:

  File "golf.py", line 42
    g:
     ^
SyntaxError: invalid syntax
cjfaure
sumber
15
Pertama kali saya melihat kesalahan sebagai output yang diinginkan. +1 untuk orisinalitas.
Milo
63

Jawa

(atau C ++, kodenya hampir mirip)
Menggunakan fungsi String, jadi jangan lupa untuk memasukkan pustaka Anda!

PS Saya tahu itu panjang, tapi itu seharusnya kreatif, bukan? Lagi pula, itu bukan "byte terendah menang".

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);

Inilah hasilnya:

         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 

Bayangkan kesengsaraan saya ketika saya menghitung dan menemukan bahwa "Restoran di Akhir Semesta" memiliki 41 karakter! :/ Mendesah.

mikhailcazi
sumber
2
mengapa ada 'DA' di output? apakah itu disengaja?
Mhmd
14
@ user689 D ouglas A bendungan :)
mikhailcazi
9
Sebenarnya 41 juga DA dengan cara (D adalah sebagainya, A adalah yang pertama). Semangat!
vadchen
11
4-1 = 3 yang berarti, • _ •) (• _ •)> ⌐ ■ - ■ (⌐ ■ _ ■) Half Life 3 dikonfirmasi.
Mohd Abdul Mujib
17
Restoran di Akhir Semesta memiliki 41 karakter + "\ 0": DDD
enterx
59

Mathematica

Ambil 1

Dengan beberapa pekerjaan, saya harus bisa bermain golf ini sedikit. :)

Dalam 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]]

Dalam TraditionalForm:

empat puluh dua

Pengujian:

answer[ultimateQuestion[Life,theUniverse,Everything]] 

42


Ambil 2

Catatan: Angka-angka dibuat sebagai berikut.

  • "42" pertama kali dicetak di layar dalam font yang sangat besar, sumbu ditampilkan, sehingga koordinat titik kunci dapat diidentifikasi.
  • Lain "4" ditarik garis lurus yang luas yang menghubungkan titik kunci masing-masing. Itu ditumpangkan pada "4" yang ditarik sebelumnya untuk memeriksa keakuratan. "2" digambar sebagai kurva BSpline. Beberapa titik kunci, yang sekarang menjadi titik kontrol, harus ditetapkan pada posisinya dengan coba-coba untuk mendapatkan kurva yang diinginkan.
  • Koordinat ketiga (selalu nol) ditambahkan ke saluran dan BSplineCurve untuk mengaktifkan tampilan 3D.

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]] ]

ambil 2

DavidC
sumber
1
Untungnya itu bukan pertanyaan bermain golf :) sepertinya bisa membantu kreativitas matematika di sana ...
cormullion
1
Terima kasih. Mathematica tentu saja menawarkan banyak opsi untuk dijelajahi.
DavidC
3
Bagus; berharap saya bisa kembali ke masa lalu dan meletakkan grafik itu di geocities.com/42, haha.
Jason C
57

Tampak tepat:

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 ' '

Keluaran:

4
2

Ubuntu 12.04, Desktop 64-bit

Kevin
sumber
23
+1 untuk jangan panik
Milo
Itu akan menjadi bash-isme, tetapi echo $(grep -i ... tr -d ' ') | sed 's/ //g'akan menempatkan semuanya pada satu baris. Anda juga bisa menggunakan backquotes alih-alih $()formulir, tetapi lebih sulit untuk memberikan komentar di sini.
Mike Renfro
@ MikeRenfro Bagaimana itu bashishm? $()ditentukan oleh standar POSIX .
nyuszika7h
Benar, saya jelas ketinggalan zaman. Terakhir kali saya periksa (bertahun-tahun yang lalu), saya pikir itu. Mungkin itu salah juga.
Mike Renfro
45

Kalkulator Windows

Mengalikan Pi dengan 13.37 dan mengabaikan desimal:P

Empat puluh dua

Aschratt
sumber
17
+1 karena fraksi jelas bukan 1337.
Jason C
1
Kalkulator programmer akan lebih baik tetapi kalkulator itu tidak memiliki (pie)
Mukul Kumar
1
1337 * math.pi / 100
chroman
11
round (1337 * math.pi / 100) <- Satu perubahan kecil karena pie bulat.
Kevin
41

Python

Saya kira itu hanya berfungsi pada 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])

Hasilnya adalah membuka Cat dan lukisan 42 sebagai tangan bebas.

42

f. tawaran
sumber
1
Saya tidak punya win32api :( Ingin melihat itu ... Tetap memberi +1: D
Timtech
Saya tidak menggunakan windows, jadi saya tidak bisa menjalankannya; tapi jalanmu brilian .
pushpen.paul
3
Saya ingin mengunggulkan ini, tetapi ini memiliki 42 peningkatan, tidak ingin mengacaukannya.
Rohcana
39

Java (Swing)

Ini akan menampilkan bingkai menggambar jawabannya . Ini hanya digunakan 42untuk nilai.

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);}}
bobbel
sumber
14
+1 untuk blok "Saya-baru-menghabiskan-satu-ton-waktu-format-ini-dan-saya-benar-benar-tidak-merasa-suka-bekerja-yang-tersisa-di" di bagian bawah, ha ha.
Jason C
3
@JasonC Itulah yang saya pikirkan! ; D Besok, saya akan mengerjakan program yang memformat kode untuk seni ASCII dan saya akan kaya!
bobbel
Saya mulai melakukan ini dengan milik saya dan dengan cepat menyerah. Pekerjaan yang baik.
ChiefTwoPencils
28

Mathematica

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

42

meskipun saya pikir itu curang, sungguh, karena itu kode keras. Dan tidak terlalu kreatif, di pihak saya ... :)

cormullion
sumber
28

Rubi

Sudah terkenal apa yang Anda dapatkan jika Anda mengalikan enam dengan sembilan . Ini memberikan satu solusi:

puts (6 * 9).to_s(13)

Python

Varian dari formula referensi-sendiri Tupper :

# 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)))

Keluaran:

@  @   @@ 
@  @  @  @
@@@@@    @
   @   @@ 
   @  @@@@
Siput mekanik
sumber
2
Sayangnya, seperti yang ditunjukkan oleh tautan Wikipedia Anda, DNA menolak metode pertama untuk menghasilkan 42: "Saya mungkin menjadi kasus yang menyedihkan, tetapi saya tidak menulis lelucon di basis 13."
LSpice
26

Javascript

alert((!![]+ -~[])*(!![]+ -~[])+""+(!![]+ -~[]))
Clyde Lobo
sumber
3
Satu lagi yang memberi saya momen WTF sampai saya sadar true == 1.
George Reith
12
WASPADA! CATERPILLAR ASCII YANG ANEH! GUNAKAN PERHATIAN EKSTREM!
Jason C
Gunakan []sebagai ganti ""( [] == '')! alert((!![]+-~[])*(!![]+-~[])+[]+(!![]+-~[]))
Sikat gigi
(!-[] === true) && (!~[] === false). Anda juga dapat mengganti {}untuk [].
Sikat gigi
1
Bagaimana dengan (!!{}+!-[]<<-~{})+[]+(!-[]+-~[])?
Sikat gigi
23

Keempat:

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

1 output LOAD itu:

   █  ███
 █ █     █
 █ █     █
 ████   █
   █   █
   █  █
   █  ████
Francisco
sumber
22

C ++

cout<<"....-"<<" "<<"..---";

Kode morse ;)

pengguna85837
sumber
21

R

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

Hasil:

42
vadchen
sumber
18

Jawa

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

Keluaran:

42

ChiefTwoPencils
sumber
2
+1 untuk menggunakan persamaan linear yang menarik, kerja bagus!
recursion.ninja
17

SWI-Prolog, ada yang?

?- X.

Keluaran:

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

Ini bahkan lebih malas daripada yang memanggil Mathematica-Wolfram-Alpha, tapi hei!

YellPika
sumber
3
Selamat datang di Code-Golf! Jangan lupa menambahkan penjelasan mengapa jawaban ini kreatif!
Justin
3
@Quincunx Ini telur paskah di SWI-Prolog.
svick
15

Shell Linux

Ini adalah sesuatu yang saya tulis pada tahun 1999 dan digunakan sebagai tanda tangan Usenet saya saat itu.

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

Sunting: Ha! Ini adalah jawaban ke-42.

sam hocevar
sumber
15

Versi PHP:

 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 */

Versi JavaScript:

 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 */

Keluaran:

 42
palerdot
sumber
2
Saya tidak akan pernah mengerti bagaimana manusia waras dapat menulis tanggal dalam urutan ini. Fakta bahwa Anda harus memberikan komentar di sana, membuktikan betapa tidak berguna format ini.
Bodo
1
@canaaerus Saya baru saja menggunakan tanggal dalam format tertentu sehingga dapat diproses oleh program untuk sampai 42. Saya mencoba berbagai cara lain yang bisa dibaca manusia, dan ini adalah yang terdekat yang bisa saya ubah tanggalnya untuk sampai pada solusi.
palerdot
24
@canaaerus saya juga tidak akan pernah mengerti bagaimana orang Amerika dapat menulis tanggal mm/dd/yy. Jika Anda berkata 04/03/11, saya akan membacanya sebagai tanggal 4 Maret 2011 - bukan tanggal 3 April.
Sikat gigi
7
@palerdot. Sejauh yang saya tahu, hanya orang Amerika-Amerika (dan kadang-kadang orang Kanada) yang menuliskan tanggal dengan cara "tengah-endian" yang aneh, membingungkan.
TRiG
2
@TRiG: Apa yang Anda harapkan? Kami, selain dari kita di bidang sains dan teknik, juga menghindari sistem metrik yang lebih intuitif dan logis.
ChiefTwoPencils
15

dc

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

Berusaha melipatgandakan 1+8dan 5+1mendapatkan 42. Sepertinya ketidaktahuan operator didahulukan 42.


Python

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

Keluaran: 42


pesta

(Dikalikan 6dengan 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"));}

Keluaran: 42

  • Apakah Anda memperhatikan penggunaan karakter backspace?
  • Apakah Anda tahu apa akibatnya?
devnull
sumber
Tidak .. tolong jelaskan!
Antonio Ragagnin
Karakter backspace mengisi string dengan panjang 42 byte. Jadi fopen pertama digunakan untuk membuka perangkat null untuk akses tulis. Kemudian fprintf menulis 42 byte menjadi nol, mengembalikan jumlah byte yang ditulis. Akhirnya 42 diformat oleh string format fungsi "% d" printf untuk menampilkan 42. Saya menyukainya!
CasaDeRobison
12

Brainf ** k

- [   --
- -     -
>+<]  >+
  .   --.
Timtech
sumber
Apakah ini tergantung pada overflow pada juru bahasa?
Cruncher
Ya, sepertinya diasumsikan melimpah ke 255. 255/5 = 51 + 1 = 52 yang merupakan kode karakter untuk 4. Saya tidak berpikir semua penerjemah melakukan ini, tetapi +1
Cruncher
@Cruncher Perlu sel pembungkus 8-bit. Ini adalah tipe yang paling umum.
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;
}  

keluaran

masukkan deskripsi gambar di sini

Mukul Kumar
sumber
Output: 1> c: \ users \ 1 dan 2 adalah 3 \ dokumen \ visual studio 2012 \ project \ consoleapplication1 \ consoleapplication1 \ consoleapplication1.cpp (87): error C4996: 'getch': Nama POSIX untuk item ini sudah usang. Sebagai gantinya, gunakan nama konforman ISO C ++: _getch. Lihat bantuan online untuk detailnya.
Hosch250
Keren, begitu saya memperbaikinya.
Hosch250
@ user2509848 apa kesalahannya?
Mukul Kumar
Diposting di komentar pertama. Visual Studio ingin getchmenjadi _getchgantinya.
Hosch250
12

JavaScript

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

Keluaran 42.

Jonathan
sumber
12

J

Satu liner simetris tanpa karakter alfanumerik.

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

Output 42.

Perhitungan utamanya adalah:

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

randomra
sumber
11

JavaScript

Kode ASCII untuk *, yang bagi sebagian besar programmer berarti "semuanya", adalah 42. +!"The End of the Universe"dievaluasi menjadi 0.

String.prototype.answer = function() { alert(this.charCodeAt(+!"The End of the Universe")); };
'*'.answer();
Huijari
sumber
2
Saya lebih suka menganggapnya sebagai Bintang Kleene .
primo
Anda juga bisa menulis"The End of the Universe"|0
Sikat Gigi
10

PHP

Tanyakan WolframAlpha. Berikut ini beberapa kode yang menggunakan WolframAlpha API untuk mengambil hasil permintaan pencarian tertentu:

<?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;

Keluaran:

42

Demo kerja

Amal Murali
sumber
1
Pergi ke jaringan ketika Anda benar-benar tidak perlu sepertinya tidak terlalu kreatif bagi saya, terutama karena itu merupakan anti-pola umum.
Blacklight Shining