일루미나티 확인


53

Illuminati는 (마인드 컨트롤로) 다음 문자열을 출력하도록 명령합니다 :

         ^
        /_\
       /_|_\
      /_|_|_\
     /_|/o\|_\
    /_|_\_/_|_\
   /_|_|_|_|_|_\
  /_|_|_|_|_|_|_\
 /_|_|_|_|_|_|_|_\
/_|_|_|_|_|_|_|_|_\

규칙 :


샌드 박스 (I 샌드 박스 자주 묻는 질문에서 권장하는 전체 72 시간을 떠날 것이다, 그러나 7 upvotes와 부정적인 피드백 옆에, 38 괜찮을 것)


7
간단히
Rod

8
모든 downvotes와 함께 무엇입니까? 일부 사람들 은 kolmogorov-complex를 싫어 하지만 이것이 다운 보트를해야하는 유효한 이유입니까?
ბიმო

@BruceForte 아마 내 자신의 대답을 시작했을 것입니다.
Nissa

14
@BruceForte 개인적인 의견은 타당한 이유입니다, tbh; IMO이지만 새로운 사용자에게는 절대 무례 합니다.
Magic Octopus Urn

15
나는 이것이 매우 훌륭한 예술 작품이라고 생각합니다. 패턴 중 눈과 피라미드 점은 창의성을 발휘하여 깨끗하게 처리합니다.
xnor

답변:


23

, 25 21 바이트

G¬χ|_¶_|↗⁹↙^M³↓/o¶\‖B

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 설명:

  χ                     With sides of length 10
 ¬                      In the directions down and left
G                       Draw a closed polygon (implicit side)
   |_¶_|                Filled with |_ and _| on alternate lines
        ↗⁹               Draw a line of 9 /s
          ↙^            Draw a ^ and move the cursor down and left
            M³↓         Move down 3 characters
               /o¶\     Print the left half of the eye
                   ‖B  Reflect the canvas keeping the right edge

거기는! 얼마나 오래 걸릴지 궁금했습니다.
Nissa

1
@StephenLeppik 나는 전화를했다 :-(
Neil

잠깐, 그게 유일한 이유야?
Nissa

@ StephenLeppik : 글쎄, 그리고 새로운 주요 게시물에 대한 알림을 얼마나 오래 보았는지에 따라, 나는 추측합니다.
Neil

@DLosc <는 다 방향 중 하나입니다- Multiprint명령 과 함께 사용 하면 문자열이 두 번, 한 번 위아래로 한 번 아래로 인쇄되지만 ↗↘다른 상황에서도 바로 가기로 사용할 수 있습니다 .
Neil


10

V , 37 바이트

9i|_á\|r/òÄó_|
>òC ^4jhR/o\j2hR\_/

온라인으로 사용해보십시오!

16 진 덤프 :

00000000: 3969 7c5f 1be1 5c7c 722f f2c4 f35f 7c0a  9i|_..\|r/..._|.
00000010: 3ef2 4320 5e1b 346a 6852 2f6f 5c1b 6a32  >.C ^.4jhR/o\.j2
00000020: 6852 5c5f 2f                             hR\_/

설명:

9i                              " Insert 9 copies of...
  |_                            "   '|_'
    <esc>                       " Return to normal mode
         á\                     " Append a backslash
           |                    " Move to the first character
            r/                  " Replace it with a forward slash
              ò                 " Recursively...
               Ä                "   Duplicate this line (upwards)
                ó               "   Remove one instance of..
                 _|             "     '_|'
>                               "   Indent this line with one space
 ò                              " End the loop
  C ^                           " Change this line (previously '/_\') to ' ^'
     <esc>                      " Return to normal mode
          4j                    " Move down 4 lines
            h                   " Move one character to the left
             R                  " Write this text over existing characters...
              /o\               "   '/o\'
                 <esc>          " Return to normal mode
                      j         " Move down a line
                       2h       " Move two characters to the left
                         R      " Write this text over existing characters...
                          \_/   " '\_/'

10

SOGL V0.12 , 31 27 25 바이트

 ^9∫Ƨ_|m└Κ}¹±§"/o¶\_”95žΓ

여기 사용해보십시오!

 ^                         push "^"
  9∫      }                do 9 times, pushing counter
    Ƨ_|                      push "_|"
       m                     mold that to the counter
        └Κ                   prepend "/"
           ¹               collect the lines in an array - ["^", "/_", "/_|", ..., "/_|_|_|_|_"]
            ±              reverse each                    ["^", "_/", "|_/", ..., "_|_|_|_|_/"]
             §             reverse as ascii-art:
                            ["         ^",
                             "        /_",
                             "       /_|",
                             ...,
                             "/_|_|_|_|_"]
              "/o¶\_”      push "/o
                                 \_"
                     95ž   insert that at [9; 5]
                        Γ  palindromize horizontally

또는 ¼(대각선에 공백)을 사용하는 24 바이트 버전 ±§:

 ^9∫Ƨ_|m└Κ}¹¼"/o¶\_”95žΓ

여기 사용해보십시오!



8

자바 스크립트 (ES6), 95 92 바이트

f=(n=9,s='')=>n--?f(n,s+' ')+s+`/${n-4?n-3?'_|'.repeat(n):'_|/o\\|':'_|_\\_/_|'}_\\
`:s+`^
`

또는 선행 줄 바꿈이있는 91 바이트 -허용되지 않는다고 생각합니다.

f=(n=9,s=`
`)=>n--?f(n,s+' ')+s+`/${n-4?n-3?'_|'.repeat(n):'_|/o\\|':'_|_\\_/_|'}_\\`:s+`^`

데모

형식화 및 의견

f = (n = 9, s = '') =>    // n = line counter, s = leading spaces
  n-- ?                   // if we haven't reached the top:
    f(n, s + ' ') +       //   do a recursive call with one more leading space
    s +                   //   append the leading spaces
    `/${                  //   append the left border
      n - 4 ?             //   if this is not the 4th row:
        n - 3 ?           //     if this is not the 3rd row:
          '_|'.repeat(n)  //       append the brick pattern
        :                 //     else (3rd row):
          '_|/o\\|'       //       append the top of the eye
      :                   //   else (4th row):
        '_|_\\_/_|'       //     append the bottom of the eye
    }_\\\n`               //   append the right border + line-feed
  :                       // else:
    s + `^\n`             //   append the top of the pyramid and stop the recursion

선행 공백이 허용됩니다.
Nissa


5

하스켈 110 107 바이트

"         ^\n"++do z<-[1..9];([z..8]>>" ")++'/':g z++"_\\\n"
g 4="_|/o\\|"
g 5="_|_\\_/_|"
g x=[2..x]>>"_|"

온라인으로 사용해보십시오!

처음에 그 9 개의 공간이 아 hurt습니다.

작동 원리

"         ^\n"++         -- first line, followed by
do                       -- we use the "do" syntatic sugar for monads,
                         -- here the list monad 
   z<-[1..9]             -- for all 'z' from [1..9] perform the following
                         -- and collect the results in a single list
     ([z..8]>>" ")++'/'  --   make the spaces for the current line and
                         --   the left wall '/'
     g z                 --   call g to make the inner part
     "_\\\n"             --   append '_', '\' and a NL

g 4="_|/o\\|"            -- line 4 and 5 are implemented directly
g 5="_|_\\_/_|"
g x=[2..x]>>"_|"         -- all other lines are some copies of "_|"

편집 : @Laikoni 덕분에 -3 바이트 :



3

05AB1E , 47 42 40 바이트

'/„_|ûûû«η'^0ǝ.∞.C":;<IJK"Çv"/o\\_/"Nèyǝ

온라인으로 사용해보십시오!

'/„_|ûûû«                                # Push bottom left tier of pyramid.
         η                               # All prefixes of...
          '^0ǝ                           # Replace the tip.
              .∞.C                       # Mirror, Center.
                  ":;<IJK"Ç              # Push [58,59,60,73,74,75].
                           v"/o\\_/"Nèyǝ # Replace those indexes with the eye.

바보 같은 버전 : „_|3×"_|/o\|".;„_|2×û"_|_\_/_".;


덜 어리석은 다른 버전 (그러나 여전히 더 나쁘다) :

05AB1E , 42 바이트

•~µÎт•η4¾ǝ•Σ}•4ǝ•3x1•5ǝεS"|_/\^o"sèJ}€.∞.C

온라인으로 사용해보십시오!



2

PHP, 123 + 3 바이트

이상한 탭 계산에 +3 바이트 (여전히 콘솔에서 커서를 8 칸 이동합니다!)

for($i=10;--$i;)$r.=str_pad(str_pad("
",$i)."/",20-$i,"_|")."\\";$r[48]=$r[65]="/";$r[50]=$r[63]="\\";$r[49]=o;echo"   ^$r";

참고 : 첫 번째 문자 echo"는 탭 문자입니다!

온라인으로 실행 -nr하거나 사용해보십시오 .

다른 버전, 동일한 길이 :

for(;$i++<9;)$r.=str_pad(str_pad("
",10-$i)."/",10+$i,"_|")."\\";$r[48]=$r[65]="/";$r[50]=$r[63]="\\";$r[49]=o;echo"    ^$r";

이클립스는 어때? 한동안 사용하지는 않았지만 탭이 4 칸이라는 것을 기억합니다.
Nissa

@StephenLeppik Eclipse는 쉘이 아닌 편집기입니다.
Titus

여전히 콘솔이 있습니다. SE 마크 다운 편집기와 <pre> 태그 글꼴은 모두 4 개의 스페이스 탭을 가지고 있습니다.
Nissa



2

Excel VBA, 104 바이트

진실을 확인하는 익명의 VBE 즉시 창 기능.

버전 A :

?Spc(9)"^":For i=0To 8:[A1]=i:?Spc(8-i)"/_"[If(A1=3,"|/o\|_",If(A1=4,"|_\_/_|_",Rept("|_",A1)))]"\":Next

버전 B :

?Spc(9)"^":For i=0To 8:[A1]=i:?Spc(8-i)"/_"IIf(i=3,"|/o\|_",IIf(i=4,"|_\_/_|_",[Rept("|_",A1)]))"\":Next


1

자바 스크립트 90 바이트 (기본 매개 변수 a = 9가 필요한 경우 92 바이트)

A=(a,x=``)=>a?A(a-1,x+" ")+x+"/".padEnd(a*2,a^5?a^4?"_|":"_|/o\\|":"_|_\\_/")+`\\
`:x+`^
`
console.log(A(9))


모든 불필요한 인수는 바이트 총계에 포함되어야하므로 91 바이트로 계산됩니다.
Nissa

1

자바 8, 156 바이트

v->"".format("%1$9s^\n%1$8s/a%1$7s/ba%1$6s/bba     /b/o\\|a    /b_\\_/ba   /bbbbba  /bbbbbba /bbbbbbba/bbbbbbbba","").replace("a","_\\\n").replace("b","_|")

설명:

여기에서 시도하십시오.

v->                        // Method with empty unused parameter and String return-type
  "".format(               //  Format the following String (`%1$Ns` = N spaces)
      "%1$9s^\n            //            ^
       %1$8s/a             //           /_\
       %1$7s/ba            //          /_|_\
       %1$6s/bba           //         /_|_|_\
            /b/o\\|a       //        /_|/o\|_\
           /b_\\_/ba       //       /_|_\_/_|_\
          /bbbbba          //      /_|_|_|_|_|_\
         /bbbbbba          //     /_|_|_|_|_|_|_\
        /bbbbbbba          //    /_|_|_|_|_|_|_|_\
       /bbbbbbbba","")     //   /_|_|_|_|_|_|_|_|_\
    .replace("a","_\\\n")  //  Replace all "a" with "_\" + new-line
    .replace("b","_|")     //  Replace all "b" with "_|"
                           // End of method (implicit / single-line return-statement)


1

줄리아 152 141 139 130 127 120 113 112 바이트

q="_|";a+b=" "^a*b;a\b=replace(a,q^3,q*b,1);~n=n<0?9+"^\n":~(n-1)*(8-n+"/$(q^n)_\\\n");print(~8\"/o\\|"\"_\\_/")

설명 :

#Define constant q to abbreviate this string
q="_|";

#Redefine the addition operator to compactly provide whitespace 
#where needed
a+b=" "^a*b;

#Redefine the inverse division operator so we can substitute 
#"_|_|_|" with "_|"*b very compactly
a\b=replace(a,q^3,q*b,1);

#Redefine the bitwise not operator to generate pyramid layers
#Defines them recursively, calling itself to generate previous 
#layers before appending its own. 
#The base case generates the tip. 
~n=n<0?9+"^\n":~(n-1)*(8-n+"/$(q^n)_\\\n");

#Print to output
print(

    #Pyramid with 8 body layers
    ~8

    #Then patch in the eye
    \"/o\\|"
    \"_\\_/"
)

1

C # (. NET 코어) , 174153 바이트

()=>string.Format(@"{1,10}
{0,10}\
{0,9}{2}{3,10}{2}{0,7}|/o\{2}{3,8}\_/_{2}{0,5}{4}  {3}{4} {3}|_{4}{3}|_|_{4}","/_","^",@"|_\
","/_|_",@"|_|_|_|_|_\
")

온라인으로 사용해보십시오!

피라미드를 만드는 비효율적 인 방법이지만 피라미드를 통해 흥미로운 작업을합니다.

감사의 말

@someone 덕분에 -21 바이트



0

자바 스크립트, 117 바이트

나는 골프 언어를 치고 있지 않다는 사실을 알고 있지만 적어도 나는 내 자신의 해결책을 줄 수 있습니다.

$=>[...Array(10)].map((e,i)=>' '.repeat(9-i)+(i--?`/${['_|/o\\|','_|_\\_/_|'][i-3]||'_|'.repeat(i)}_\\`:'^')).join`
`

데모는 다음과 같습니다.

var f = $=>[...Array(10)].map((e,i)=>' '.repeat(9-i)+(i--?`/${['_|/o\\|','_|_\\_/_|'][i-3]||'_|'.repeat(i)}_\\`:'^')).join`
`;
console.log(f());
console.log(f.toString().length);

설명:

$=>                                       // outer function start
[...Array(10)]                            // create an array to map
.map(…)                                   // map it
    (e,i)=>                               // mapping function start
    ' '.repeat(9-i)                       // spaces for padding
    +(i--?…:'^')                          // use the carat if at the top of the pyramid
        `/${…}_\\`                        // otherwise, make the sides + steps
            ['_|/o\\|','_|_\\_/_|'][i-3]  // use the patterns for the eye, if in the correct rows
            ||'_|'.repeat(i)              // otherwise, make the "bricks" structure
.join`
`                                         // join all the rows into a string (yes this part has a newline in it)

4
사람들이 직접 솔루션을 만들 수 있도록 바로 대답하는 것은 권장되지 않습니다.
Okx

0

자바 스크립트, 238 바이트

codegolfing에서 첫 시도 : D

var f=()=>{let b=x=>' '.repeat(x),g='\\',h='/',i=1,st=[(b(9)+'^').split('')];for(;i<10;i++)st.push((b(9-i)+h+st.map(i=>'_').join('|')+g).split(''));st[4][8]=st[5][10]=h;st[4][9]='o';st[5][8]=st[4][10]=g;return st.map(s=>s.join('')).join('\n');}

document.getElementById("display").innerHTML = f();
console.log(f.toString().length);
<pre id="display">
</pre>


1
사이트에 오신 것을 환영합니다!
caird coinheringaahing

하드 코딩은 여기있는 것보다 확실히 짧습니다. : 당신은 몇 ES6의 기능이 단축 될 수 있습니다 function`s` 대신 function('s'), a=>대신 ()=>, fill(x)대신 map(e=>x), [...s]대신 s.split('')에 문을 이동 for등의 초기화,
NISSA
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.