Göstermenin en yaratıcı yolu 42


386

Douglas Adams 11 Mart 1952 tarihinde doğdu ve o sadece 49. bu harika yazarın onuruna iken öldü, ben görüntülemek meydan 42 mümkün olan en yaratıcı biçimde.

Bazı kıvrımlı yöntemlerle günlükte yazdırabilir veya ASCII sanatı veya başka bir şey olarak görüntüleyebilirsiniz! Sadece 42 görüntüleme yaratıcı bir yöntem ile gelip.

Çünkü bu popülerlik yarışması, 11 Mart'ta en çok cevap veren cevap hangisi olursa, kazanan ilan edilecek.

Not: Bu bir kopya değildir. O kopyalamada olarak işaretlenmiş soru olan hedefi için en yaratıcı yolunu bulamazsa, çıkış 42 kod yazmak için bir kod-trolling soruydu gösterilecek onu.

Kazanan: grovesNL! Şaşırtıcı 813 oyla! Tebrikler!

Mansiyonlar:

Bay Lister C 228 #define'ın akıllıca kullanımı için

David Carraher Mathematica 45 Karmaşık ve karmaşık matematik işlevlerini elde etmek için 42

Aschratt Windows Hesap Makinesi 20 Çünkü, peki, bu windows hesaplayıcısı Ve kesinlikle 1337.

f.rodrigues Python 17 Harici program kullanmanın zekice kullanımı nedeniyle. Ve MSPaint

Jason C LMGTFY 14 LMGTFY'nin kullanımı için (Google’ın Sizin İçin O Bırakın)

Trimsty Python 12 Bir hata mesajının akıllıca kullanılması için 42 numaralı mesajı kullanın.

Mukul Kumar C ++ 7 Güzel ASCII çıkışı için.

Listeye koymaya değer başka bir cevap olduğunu düşünüyorsanız, lütfen yorum yapın!


6
Eski kapalı soru, bir kod değiştirme idi, yani, görünmenin yanı sıra gerçekten korkunç bir şekilde yapmanın yanında 42 göstermeyen herhangi bir şeydi. Bu kod trolling değil, yani çıktı gerçekten iyi bir şekilde 42 olmalıdır. Dolayısıyla bu kopya değildir.
Victor Stafusa

2
@DanDascalescu Bu SE sitesinin, kullanıcıların cevaplarında yaratıcı özgürlükler kullanmalarını sağlayan, katı gereksinimler olmadan birçok sorusu vardır. Bazen çok fazla kısıtlama yaratıcılığın ifadesini engelleyebilir
grovesNL

9
Soru 42 oyda kalmalı.
Zero Fiber

28
Marvin The Robot "Mükemmel cevabımı gönderirdim, ama muhtemelen oy kullanacaksınız. Her zaman haklı olmak çok üzücü."
Reactgular

3
42 favori alabilir miyiz?
Milo

Yanıtlar:


843

Çift Brainfuck

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

hangi çıktılar ...

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

hangi çıktılar ...

6*7=42

92
Her zaman bir şeylerin evrende temelde yanlış olduğunu düşünürdüm.
mfitzp

147
Olmalı 6*9=42.
Proxy

17
@ Proxy: Doğru, ancak bazen bu referanslar izleyicide kaybolsa da, bağlama rağmen ... ;-)
grovesNL

19
@IsmaelMiguel: 10'unuz çok temel ...
Dennis

26
Tüm soruyu, insanların bu cevabı görebilmesi için geçersiz kıldım.
Michael Stern,

329

C

İşte bir ihtiyar ama 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);
}

Bu program 42 farklı ASCII karakter içermektedir.


15
Bu harika
ASKASK

41
Ben matematik "doğru" ^^ almak için #define kullanımını seviyorum. Sen bir sakas kursusun.
Olivier Dulac

35
@mikhailcazi: Önişlemci tam anlamıyla bu sabitleri değiştirecek, yani 42 six*nineolur 1+5*8+1. Aferin Bay Lister.
bodo,

7
@canaaerus Kutsal bok, bu bir dahi. Bravo Bay Lister!
mikhailcazi

4
@mikhailcazi #define, aynı C + ile aynı şekilde C ++ 'da çalışıyor.
Bay Lister,

137

brainfuck

Oraya varmak biraz zaman aldı, ama sonucu sevdim:

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

Çalıştığında, elbette 42 yazdıracak.


6
Denemeyeceksin bile (yenmek ya da anlamak) ... Bu bana Uluslararası Şaşkın C Kod Yarışması için gördüğüm birçok girişi hatırlatıyor.
Isiah Meadows

64
İtiraf etmeliyim ki, "42" göstermesi için kodun yazı tipi
biçimlemesi

15
Keşke Linux çekirdeğini beyninde yazmışlarsa.
devnull

10
Ne yazık ki, GrovesNL tarafından geçildin .
Blacklight Shining

6
Katılıyorum. Yazı tipleri benimki kadar hoş görünmüyor ancak iç içe geçmiş çıktı gerçekten harika bir fikir. Ayrıca onların kuralları benimkinden daha anlamlı. Yazı tipini ilk önce ascii sanat olarak tasarladım ve sonra ascii sanatının 220 karakter sayısına uyacak şekilde kodla oynadım, bu yüzden kodum çok anlamsız şeyler içeriyor.
Donarsson

133

JavaScript:

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

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

Çıktı:

42

Fena değil ha? :)

Anlamayan insanlar için, aslında aşağıdakileri değerlendirir:

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


17
Yıllardır JavaScript kodlaması yapıyorum, ancak bunun facepalm
Songo

5
@CarlWitthoft Nasıl Çalışır olmasıdır _JavaScript geçerli bir değişken adıdır - ve böylece is __, ___, ____, ________.
Diş fırçası

3
Çok teşekkürler. İleride kullanmak üzere bu (tehlikeli :-)) bilgiyi uzaklaştıracağım.
Carl Witthoft

2
Programcıların yaratıcı olmadığını kim söylüyor!
Jonathan,

1
Her gün çok fazla JavaScript yazan biri olarak ... iyi iş çıkardın, beni gerçekten bir süre güdük. Mutlu bir şekilde önünden geçti ve biraz esolang kabul ettim.
George Reith

76

C, Oniki Gün Noel Tarzı

Yeni sürüm:

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

Çıktı:

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

Bu arada, metinden konuşmaya cevabımı da kontrol et .


Orijinal versiyon:

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

Çıktı:

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

Yapışkanlık hissederseniz alternatif boşluklar:

        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 tek özyinelemeli bir ifadedir. Şimdiye kadarki en sevdiğim şaşkın C programım tarzında yaptım, On İki Gün Noel (derle, üflenmeye hazır ol, koş).


NASIL

Ayrıca, burası herhangi bir yer gibi göründüğü için, bu tür bir programın nasıl yapılacağını açıklayan bir rehber. Bu kılavuz, yukarıdaki orijinal sürümü örnek olarak kullanmaktadır. Blok harfli ilk bit dışında, bunlar genel adımlardır:

İLK: İlk önce blok harfleri yaparak başladım:

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

Daha sonra her 5 sütunlu karakter satırındaki benzersiz kalıpların numaralandırılmış bir listesini yaptım:

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

Ve böylece 5 piksellik metin satırının her biri 9 sayı dizisi olur:

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

Şaşırtma için (ve programlama kolaylığı) sayılara '#' karakterini ekleriz. Aşağıdaki programda patterns, piksel desenleri linesdizisidir ve her satır için bir 'x' ile sonlandırılmış karışık desen kodları dizisidir. Daha fazla şaşırtma için, "açık" pikselleri patternsboşluk olmayan herhangi bir karakter olarak tanımlarız; bu, içine daha fazla yanıltıcı metin koymamızı sağlar 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;
  }
}

1. ADIM: Bir sonraki adım birkaç görevi içerir:

  • Tüm döngüleri çıkarın ve özyinelemeyi kullanın.
  • Tüm işlevleri (ana hariç) forma int function (int, int)çevirin ve her biri için aynı parametre adlarını kullanın. Sebepler daha sonra netleşecek.
  • Değişim mainforma int main (int, int, int)ve son iki parametreleri sizin fonksiyon parametre adlarıyla aynı isim.
  • Dize sabitlerine yapılan tüm referansları dizelerin kendisiyle değiştirin; ve mümkünse her dizeyi yalnızca bir kez kullanın.
  • Dahil kaldırılabilir; bunun için gereksiz int putchar (int).

Dahası şaşırtmaya a[b]eşdeğer olan garip C özelliğinden de faydalanabiliriz b[a].

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

2. ADIM: Daha sonra, her bir işlevi tek bir ifadeye dönüştürmek için ?:ve ,operatörlerini kullanın return. Bunu yukarıdan ayrı olarak gösteriyorum çünkü bu, işlerin kafasını karıştırmaya başladığı yer. Bunun putchar()geri döndüğünü intve ?:öncelikli olduğunu unutmayın ,:

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

ADIM 3: Tamam. Bir sonraki adım büyük bir adım. Tüm fonksiyonlar şimdi aynı formda tek bir ifadedir. Şimdi hepsini tek bir işlevde birleştirebiliriz, her birini bir sayı ile tanımlayabiliriz - temel olarak tüm programı tek bir özyinelemeli işleve çeviririz. mainProgram hiçbir argüman olmadan çalıştırıldığında ilk parametrenin 1 olacağını unutmayın , bu bizim başlangıç ​​durumumuz olmalı.

Bizim parametre Aynı zamanda, chiç maineden durum değişkeni olduğu için, her zaman değerini biliyoruz ve açısından değerleriyle tamsayı sabitler değiştirerek biraz daha obfuscate olabilir c(örneğin, bildiğimiz zaman cbiz 5 yerine, 2 ile c+3). Başka küçük şaşırtmalar da yapılabilir (örneğin, '#'ile değiştirdim 35ve 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));
  }
}

ADIM 4: Son olarak, switchbir dizi ?:işleç kullanarak bloğu kaldırın . Ayrıca intbeyannameleri de kaldırabiliriz , çünkü C bunları varsayılan olarak kullanacaktır, çünkü returnkendisi (en kötü şekilde bir uyarı üretecektir). Bundan sonra, programımız bir ifadeyle tek ve özyinelemeli bir işlevdir. Oldukça havalı değil mi?

Düzenleme: putchar()a mainve c==4altındaki yerine ; çünkü sadece son dakikada düşündüm:

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

Biraz yetenek eklemek istiyorsanız, sizin için daha ilginç numaralarını kullanabilirsiniz cve hatta diğer sayıların kapalı kontrolleri dayandırmak için (örneğin c==2durumda, zihmal ve kullanılabilir, bunun yerine çağıran olduğunu main(2,z,_)sen diyebiliriz main(-97,_,_)ve değiştirme c==2ile c<-z). Yaratıcı ol; İmkanlar sonsuzdur.

BİTİR: Son adım, o zaman, metni bazı yaratıcı düzende düzenlemek ve işte! Biçimlendirmeye yardımcı olmak için kodu biraz ayarlayabilirsiniz (örneğin patterns, satır uzunluğunu doğru bulmaya yardımcı olmak için yayınlanan programdaki dizgenin sonuna fazladan veri ekledim ). Hanımların her şeyin yolunda olacağından eminiz.


Kılavuzu çıkarmalı mıyım? Ben de bu gizemi beğenmedim.
Jason C

Cevabı daha kısa olan ve çıktıdaki harfleri basan yeni bir sürümle güncelledim. Kılavuz orijinal versiyona dayanmaktadır (hala mevcut). Yeni sürüm çıktıyı RLE verileri olarak saklar; ilk uzun dize veridir.
Jason C,

2
Çözümünüzün arkasındaki “nasıl” olduğunu açıklamak için zaman harcadığınız zaman verilen bu cevabı + 1'lemek istiyorum, ancak şu an 42 temsilcisi ve bunu mahvetmek istemiyorum. ;)
Adam Parkin

4
@AdamParkin Haha! İşte burada, 43'e çıkarsa, oyunuzu düşürmek sizin görevinizdir.
Jason C


63

Java

(veya C ++, kod neredeyse benzer)
String işlevlerini kullanarak, kütüphanenizi eklemeyi unutmayın!

PS Uzun olduğunu biliyorum, ama yaratıcı olması gerekiyordu, değil mi? Her neyse, "en düşük baytlık kazanç" değil.

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

İşte çıktı:

         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 

Saydığımda ve "Evrenin Sonundaki Restoran" ın 41 karaktere sahip olduğunu anladığımda sefaleti hayal et ! :/ İç çekmek.


2
neden çıktıda bir 'DA' var? kasıtlı mı
Mhmd

14
@ user689 D ouglas bir baraj :)
mikhailcazi

9
Aslında 41 bir şekilde DA'dır (D ileride, A ilk sıradadır). Neşelen!
vadchen

11
4-1 = 3 anlamına gelir, • _ •) (• _ •)> ⌐ ■ - ■ (⌐ ■ _ ■) Half Life 3 onaylandı.
Mohd Abdul Mujib

17
Evrenin Sonundaki Restoran 41 karakter + "\ 0" karakterlidir: DDD
enterx

59

Mathematica

1 al

Bazı çalışmalarda, bunu biraz daha golf yapabilmeliydim. :)

İçinde 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]]

İçinde TraditionalForm:

kırk iki

Test yapmak:

answer[ultimateQuestion[Life,theUniverse,Everything]] 

42


2 almak

Not: Rakamlar aşağıdaki gibi yapılmıştır.

  • “42” ilk önce ekrana çok büyük bir yazı tipinde basıldı, eksenler gösterildi, böylece kilit noktaların koordinatları tanımlanabildi.
  • Başka bir "4", ilgili kilit noktaları birleştiren geniş bir düz çizgi çizildi. Doğruluğunu kontrol etmek için önceden çizilmiş "4" üzerine bindirildi. "2" bir BSpline eğrisi olarak çizildi. Şimdi kontrol noktaları olan kilit noktalardan bazıları, istenen eğrileri elde etmek için deneme yanılma durumuna getirilmeliydi.
  • Çizgiye üçüncü bir koordinat (her zaman sıfır) eklenir ve 3B görüntülemeyi etkinleştirmek için BSplineCurve kullanılır.

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

2 almak


1
Neyse ki bu bir golf sorusu değil :) orada matematiksel yaratıcılığın iyi bir yardımı gibi görünüyor ...
cormullion

1
Teşekkürler. Mathematica, kesinlikle keşfedilecek birçok seçenek sunuyor.
DavidC

3
Güzel; Keşke zamanda geriye dönüp bu grafiği geocities.com/42, haha.
Jason C,

57

Uygun görünüyor:

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

Çıktı:

4
2

Ubuntu 12.04, 64-bit Masaüstü


23
Panik yapmayınca +1
Milo

Bir bash-ism echo $(grep -i ... tr -d ' ') | sed 's/ //g'olurdu , ama hepsini bir satıra koyardı. $()Form yerine ters alıntılar da kullanabilirsiniz , ancak burada yorum yapmak daha zordur.
Mike Renfro


@MikeRenfro Bu nasıl bir bashishm? POSIX standardı$() tarafından belirlenir .
nyuszika7h

Doğru, belli ki güncel değil. En son kontrol ettiğimde (yıllar önce) olduğunu sanıyordum. O zaman da yanlış olabilir.
Mike Renfro

45

Windows hesap makinesi

Çarparak Pi ile 13.37 ve ondalık görmezden:P

Kırk iki


17
+1, çünkü kesirler kesinlikle 1337 değil.
Jason C,

1
Bir programcının hesap makinesi daha iyi olurdu, ama o hesap makinesi yoktu (turta)
Mukul Kumar

1
1337 * Math.PI / 100
kroman

11
round (1337 * math.pi / 100) <- Pasta yuvarlak olduğundan beri küçük bir değişiklik.
Kevin

41

piton

Sanırım sadece Windows 7'de çalışıyor.

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

Sonuç Boya ve Resim 42'yi serbest el olarak açmaktır.

42


1
Ben win32api :( Görmek istemedim ... Yine de +1 olsa: D
Timtech

Pencereleri kullanmıyorum, o yüzden çalıştıramam; ama senin tarzın mükemmel .
pushpen.paul

3
Bunu oylamak istemiştim, ama bunun tam olarak 42 oyu var, bunu mahvetmek istemiyorum.
Rohcana

39

Java (Salıncak)

Bu , cevabı çizen bir çerçeve görüntüleyecektir . Sadece 42değerler için kullanır .

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
Alt kısımdaki "Ben-sadece-harcanan-bir-ton-zaman-biçimlendirme-bu ve-ve-gerçekten-hissetmiyorum-of-kalanlar-içinde-çalışma" bloğu için +1, haha.
Jason C,

3
@JasonC Ben de aynen böyle düşündüm! ; D Yarın kodu ASCII sanatına biçimlendiren bir program üzerinde çalışacağım ve zengin olacağım!
bobbel

Bunu benim ile yapmaya başladım ve çabucak pes ettim. İyi iş.
ChiefTwoPencils

28

Mathematica

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

42

Her ne kadar zor kodlanmış olduğundan beri aldatma olduğunu düşünüyorum. Ve çok yaratıcı değil, benim açımdan ... :)


28

Yakut

Altıyı 9'a çarpınca ne elde edeceğin çok iyi bilinmektedir . Bu bir çözüm sunar:

puts (6 * 9).to_s(13)

piton

Tupper'ın kendine referans formülünün bir çeşidi :

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

Çıktı:

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

2
Ne yazık ki, Wikipedia bağlantınızın işaret ettiği gibi, DNA 42 üretmenin ilk yöntemini reddediyor: "Üzgünüm bir durum olabilir, ancak 13 üssüne şakalar yazmam."
LSpice

26

JavaScript

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

3
Ben fark edene kadar bana WTF anı veren bir tane daha true == 1.
George Reith

12
ALARM! Tuhaf ASCII CATERPILLARS! AŞIRI KULLANIM DİKKAT!
Jason C,

Kullanım []yerine ""( [] == '')! alert((!![]+-~[])*(!![]+-~[])+[]+(!![]+-~[]))
Diş fırçası

(!-[] === true) && (!~[] === false). Ayrıca ikame edebilir {}için [].
Diş fırçası

1
Nasıl hakkında (!!{}+!-[]<<-~{})+[]+(!-[]+-~[])?
Diş fırçası


23

Forth:

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 LOAD çıktı:

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


21

R,

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

Sonuç:

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

Çıktı:

42


2
İlginç bir lineer denklem kullanmak için +1, iyi iş!
recursion.ninja

17

SWI-Prolog, kimse?

?- X.

Çıktı:

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

Bu, Mathematica-Wolfram-Alpha olanından bile daha tembel, ama hey!


3
Code Golf'a hoş geldiniz! Bu yanıtın neden yaratıcı olduğuna dair bir açıklama eklemeyi unutmayın!
Justin,

3
@ Quincunx SWI-Prolog'da bir paskalya yumurtası.
svick

15

Linux kabuğu

İşte 1999'da yazdığım ve o zamanlar Usenet imzam olarak kullandığım bir şey.

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

Düzenleme: Ha! Bu 42. cevaptı.


15

PHP versiyonu:

 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 sürümü:

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

Çıktı:

 42

2
Aklı başında bir insanın bu sırayla nasıl bir tarih yazabileceğini asla anlayamayacağım. Buraya bir yorumda bulunmak zorunda olmanız gerçeği, bu biçimin ne kadar işe yaramaz olduğunu kanıtlar.
bodo

1
@canaaerus Tarihi sadece belirli bir biçimde kullandım, böylece ulaşması gereken bir program tarafından işlenebilir 42. Başka birçok insan tarafından okunabilir yolu denedim ve bu, çözüme ulaşmak için tarihi değiştirebileceğim en yakın şeydi.
palerdot

24
@canaaerus Amerikalıların da tarihleri ​​nasıl yazabileceklerini asla anlayamayacağım mm/dd/yy. Söylerseniz 04/03/11, 4 Nisan 2011 olarak okudum - 3 Nisan değil.
Diş fırçası

7
@palerdot. Bildiğim kadarıyla, sadece ABD'li Amerikalılar (ve bazen de Kanadalılar) bu tuhaf, kafa karıştırıcı, "orta-asya" tarzında tarih yazıyorlar.
TRiG

2
@TRiG: Ne bekliyorsunuz? Biz, bilim ve mühendislik alanlarındakiler dışında, daha sezgisel ve mantıksal metrik sistemi de kapattık.
ChiefTwoPencils

15

dC

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

Çarpmaya 1+8ve 5+1almaya çalışıyorum 42. Operatör önceliğinin cehaletinin yol açtığı gibi görünüyor 42.


piton

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

Çıktı: 42


darbe

(Çarpımı 6ile 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"));}

Çıktı: 42

  • Geri silme karakterlerinin kullanıldığını fark ettiniz mi?
  • Bunların neyle sonuçlandığını biliyor musunuz?

Hayır, lütfen açıkla!
Antonio Ragagnin

Geri silme karakterleri, dizgiyi 42 bayt uzunluğunda doldurur. Bu nedenle ilk fopen boş aygıtı yazma erişimi için açmak için kullanılır. Daha sonra fprintf, 42 bayt boş yazıyor ve yazılan bayt sayısını döndürüyor. Sonunda bu 42, printf işlevinin "% d" biçim dizgisi tarafından 42 biçiminde biçimlendirilir. Sevdim!
CasaDeRobison

12

Brainf ** k

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

Bu, tercümandaki taşma durumuna mı bağlı?
Cruncher

Evet, 255'e taşma varsayıyor gibi görünüyor. 255/5 = 51 + 1 = 52, 4 için karakter kodudur. Tüm tercümanların bunu yaptığını sanmıyorum ama +1
Cruncher

@Cruncher 8 bitlik sarma hücrelerine ihtiyaç duyar. Bu en yaygın olanıdır.
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;
}  

çıktı

görüntü tanımını buraya girin


Çıktı: 1> c: \ users \ 1 ve 2, 3 \ document \ visual studio 2012 \ projects \ consoleapplication1 \ consoleapplication1 \ consoleapplication1.cpp (87): hata C4996: 'getch': Bu öğenin POSIX adı kullanımdan kaldırıldı. Bunun yerine, ISO C ++ uygun adını kullanın: _getch. Ayrıntılar için çevrimiçi yardıma bakın.
Hosch250

Harika, bir kere düzelttim.
Hosch250

@ user2509848 hata neydi?
Mukul Kumar

İlk yorumda gönderildi. Visual Studio bunun yerine getcholmak istedi _getch.
Hosch250

12

JavaScript

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

Çıkışlar 42.


12

J

Alfanümerik karakter içermeyen simetrik bir astar.

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

42 çıkışı.

Ana hesaplama:

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


11

JavaScript

*Çoğu programcının "her şey" anlamına geldiği ASCII kodu 42'dir +!"The End of the Universe". 0 olarak değerlendirilir.

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

2
Kleene Yıldızı olarak düşünmeyi tercih ederim .
primo

Ayrıca yazabilirsiniz"The End of the Universe"|0
Diş Fırçası

10

PHP

WolframAlpha'ya sor. Belirli bir arama sorgusunun sonucunu almak için WolframAlpha API'sini kullanan bazı kodlar:

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

Çıktı:

42

Çalışma demosu


1
Ağa gerçekten ihtiyaç duymadığınızda gitmek, benim için çok yaratıcı görünmüyor, özellikle de yaygın bir anti-patern olduğu için.
Blacklight Shining
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.