Hiển thị hoành tráng Phục Sinh!


11

Nhiệm vụ của bạn là in Nghệ thuật ASCII sau đây:

 _     _                            _______                           _ 
| |   | |                          (_______)          _              | |
| |__ | | ____ ____  ____  _   _    _____   ____  ___| |_  ____  ____| |
|  __)| |/ _  |  _ \|  _ \| | | |  |  ___) / _  |/___)  _)/ _  )/ ___)_|
| |   | ( ( | | | | | | | | |_| |  | |____( ( | |___ | |_( (/ /| |    _ 
|_|   |_|\_||_| ||_/| ||_/ \__  |  |_______)_||_(___/ \___)____)_|   |_|
              |_|   |_|   (____/

Hãy nhớ rằng, đây là , vì vậy mã có số byte nhỏ nhất sẽ thắng. Chúc may mắn.


2
@FryAmTheEggman điều này khá khác biệt so với Rickroll được cho là trùng lặp. Chỉ có một vài biểu tượng được sử dụng: |()/\_dẫn đến các hình thức nén hoàn toàn khác nhau. Chúng tôi đã có những thách thức nghệ thuật ASCII tương tự trước đây, nhưng tôi muốn xem câu hỏi này để xem liệu có ai tận dụng lợi thế của hình học không. Mặt khác, nó không quá đáng chú ý, và bạn nói đúng, chúng ta không cần thẻ Phục Sinh.
Cấp sông St

1
@FryAmTheEggman Giải pháp tốt nhất cho độ phức tạp kolmogorov phụ thuộc rất nhiều vào cấu trúc của đầu ra. Đây không phải là văn bản, vì vậy nó không phải là một bản sao.
lirtosiast

7
@lirtosiast Bộ ký tự giới hạn có thể có vấn đề, nhưng tôi cảm thấy như thế này gần như chắc chắn sẽ bị chi phối bởi các kỹ thuật tương tự như trong các câu hỏi dựa trên văn bản. Dù vậy, đó chỉ là ý kiến ​​của tôi, cộng đồng quyết định xem quan điểm nào của chúng tôi sẽ thi hành.
FryAmTheEggman

4
Bản sao có thể có của Minecraft Nhân đôi
Blue

1
Điều này là khác nhau, vì không có đầu vào, và do đó không cần thiết phải lấy đầu vào và phân tích nó.
thepiercingarrow

Câu trả lời:


10

Bong bóng, 130 byte

0000000: 758f b579 0530 18c4 7a4f a1d2 7fe5 8102  u..y.0..zO......
0000010: 5ae4 760f 5de8 91ee b3cc 8400 f523 2c3c  Z.v.]........#,<
0000020: 4656 0850 3f60 5b86 5fe4 8290 15a2 84a0  FV.P?`[._.......
0000030: 5a61 4d0b b64f 2b35 c476 eb1e 844e c841  ZaM..O+5.v...N.A
0000040: 08c8 731d 1a02 ead0 1547 1d70 beba 9fd6  ..s......G.p....
0000050: 31bf 5fdb 6c72 1d7b 1051 ed8a a884 7c76  1._.lr.{.Q....|v
0000060: 0fa7 db91 1503 c43c 9b18 124f cdb3 4220  .......<...O..B 
0000070: 9631 716b a71c 3bd6 ed8b 0b62 7ebd 55cf  .1qk..;....b~.U.
0000080: 7a07                                     z.

Hãy thử trực tuyến.

Nén bằng cách sử dụng zopfli --deflate --i10000.


Đây có phải là 588 byte không?
thepiercingarrow

15
@MarkWright Những gì quartata đã đăng là một hexdump của mã thực tế
Sp3000

10

JavaScript (ES6), 377 373 360 359 345 byte

Cảm ơn @Neil vì đã tiết kiệm một byte và @ edc65 cho 14 lần khác!

Hình tôi sẽ cho nó một shot. Nén các mẫu lặp lại phổ biến trong văn bản.

_____ (5 dấu gạch dưới) được lưu trữ dưới dạng _5

      (5 dấu cách) được lưu trữ dưới dạng  5

 | | | | |(5 của  |mẫu) được lưu trữ dưới dạng~5


console.log(` _ 5_ 28_7 27_
|~ 2~2 26(_7) 10_ 13~2
|~_2~2 _4 _4 2_4 2_ 3_ 4_5 3_4 2_3|~_ 2_4 2_4|~
| 2_2)|~/ _ ~ 2_ \\| 2_ \\|~3 ~ 2_3) / _ ~/_3) 2_)/ _ 2)/ _3)_|
|~ 2~ ( (~9_|~ ~2_4( (~2_3~2_( (/ /|~ 4_
|_| 2~_|\\_|2_|~|_/|~|_/ \\_2 ~ ~_7)_|2_(_3/ \\_3)_4)_| 2~_|
 13~_| 2~_| 3(_4/`.replace(/(.)(\d+)/g,(_,a,b)=>a.repeat(b)).replace(/~/g,' |'))

Lưu ý ES6 =>.
Máy

Có vẻ như byte có thể được lưu bởi RLEing _s.
Máy

@CatsAreFluffy Ý của bạn là gì? Nó nén các lần chạy _với _theo sau là có bao nhiêu cuộc chạy
jrich

Rất tiếc, tôi vẫn ở phiên bản 377 byte.
Máy

~1hoặc _2hầu như không có giá trị nó. (Tại sao không sử dụng |2chẳng hạn?)
Neil

8

BinaryFuck , 565 378 byte

Điều này về cơ bản lưu trữ các ký tự được sử dụng trong mảng, sau đó điều hướng qua mảng, in chúng cho phù hợp. Hiện tại khá dài, sẽ rút ngắn nó lên.

1000010000000000000000110011110001010010000011011111010010110001011011000000010010111011001111011110010010010000010000010000000000000010000010000000000010000010000000000011011011011011011011011011001111010010000000000110001010000000000000000010000000000011011111010010001010001001001001010010001010000000000000000000000000000010001001001001010000000000000000000000000000000011011011011100010100011100100100100100010100011100100100100100100100100100100100100100100100100100100100100100100100100100100100100010100100100100100100100011100100100100100100100100100100100100100100100100100100100100100100100100100100100010100011100010010010010100011011011011011100010100011100010100100100011100010100011100010100100100100100100100100100100100100100100100100100100100100100100100100100100011011100010010010100100100100100100100010100011011100100100100100100100100100100010100011100100100100100100100100100100100100100100011100010100011100010010010010010100011011011011011100010100011100010010100100011100011100010100011100010100010100100100100011100010100100100100011100100010100100100100011100100010100011100100100010100011100100100100010100100100100100011100100100010100100100100011100100010100100100011011100010100011100010010100011100100010100100100100011100100010100100100100011011100010100011100010010010010010100011011011011011100010100100010100100010100011011011100010100011100011011100010010010100010100011100100011100010100100010100011100010010010100011011011011100010100100010100011100010010010100011011011011100010100011100010100011100010100011100010100100011100010100100010100100100010100011011100011011011100010010010100010100011100100011100011011100010010010010100100100010100011011100100010100010100011011011011011100010010010100010100011100100010010100011011011011011100010010010100010100100100010100011100011011100010010010010010100011011011011011100010100011100010100100100011100010100011011100010010100011011100010010100011100010100011100010100011100010100011100010100011100010100011100010100011100010100011100010100011100010010100011011100010100011100010100100011100010100011100010010100100100100011011011100010010100011011100010010100011100010100011100010010100100100011100011100010100011100010010100011011011100010010100011011100011100010010010100011011011100010010100010100011100010100100100100010100011100010010010010100011011011011011100010010100011011100010100100100011100010010100011011100010010010010100011011100011011100100010010100011011100010100011100100010010100011011011011100010010100010100011100100010010100011011011011100010010010100010010010100011011100100011100100011100010100100011100010010100100100100100100100010100011100011011100100010010100011011011100010010010100100100011011011011100010010010100010010010100011011100100100010100011100100100100010100011100011011100010100100100011100010010100011011100010010010010010100011011011011100100100100100100100100100100100100100100011100010010100011011100010100100100011100010010100011011100010100100100011011100010010010100100100100011011011011100

Đây là mã không được mã hóa:

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

EDIT: bằng cách sắp xếp lại thứ tự các ký tự trong các ô, tôi đã lưu được 186 byte!


8
Đó không phải là cách một byte hoạt động. Nếu bạn không thể chuyển chuỗi byte chính xác cho trình thông dịch, bạn không thể yêu cầu số byte đó là số byte của mình.
Doorknob

1
Nếu có một BF-phiên dịch mà mất trong 3-bit / char. Vui lòng thêm một liên kết đến trình thông dịch và hexdump / pastebin của mã được mã hóa, nếu bạn muốn yêu cầu 565 byte.
Hạ cấp

2
Vâng, có một trình thông dịch brainfuck 3 bit . Thêm một liên kết đến điều này trong câu trả lời của bạn cùng với biểu diễn hexdump / binary của mã của bạn. Ngôn ngữ sẽ không còn là vấn đề nữa, vì vậy bạn phải chỉ định "CompcedFuck" trong tiêu đề. Tôi khuyên bạn nên giữ nó như là khi nhìn thấy Brainfuck mọi người không mong đợi nó sẽ rất ngắn.
Hạ cấp

1
Điều này không giống như một chương trình BinaryFuck hợp lệ; nó không bắt đầu bằng a 1. Vui lòng cung cấp một liên kết đến một trình thông dịch và hexdump của mã nguồn để kết quả của bạn có thể được sao chép.
Dennis

2
Nếu bạn sẽ yêu cầu 3 bit cho mỗi lệnh theo Binaryfuck, bạn cần đăng mã nguồn Binaryfuck (có thể trong kết xuất hex hoặc mã hóa base64) và tính toán byte dựa trên điều đó. Như hiện tại, bài nộp này là một bài nộp brainfuck với 1012 byte, trong đó 3 là không liên quan (các dòng mới).
Mego

6

JavaScript (ES6), 380 byte

Để hoàn thiện, đây là nỗ lực của tôi để sử dụng một phương pháp nén khác, mặc dù hóa ra nó không hiệu quả như mã hóa chiều dài chạy. Mỗi chữ số chỉ định rằng N ký tự đã tạo cuối cùng được lặp lại. Các chữ số tiếp theo có thể lặp lại các ký tự đã lặp lại, ví dụ như | 23biến thành | | |. Tôi chỉ muốn tôi có thể nén một loạt ba ký tự.

f=(s=` _  26  2479__23   2499_ 
| 2  6  2379(__23)   25_  237|2
| |__ |2 __25  __2  _ 4   ___2   __2  ___| |_  ___6_| |
|  __)| |/ _  |  _ \\6| 24 |  ___) / _  |/___)  _)/ _  )/ ___)_|
| 2  | (2 |248 |_| 23|__2( 2| |___ |2_( (/ /| 2   _ 
|_|   |_|\\_||_| ||_/6 \\__  |3__23)_||_(___/ \\___)_5|   |_|
  237|_|6   (__2/`,r=s.replace(/(.*?)(\d)/,(_,p,n)=>p+p.slice(-n)))=>r==s?r:f(r)

o.textContent = f()
<pre id=o></pre>


6

C, 517 427 407 byte

  • đã lưu vài byte, nhờ @ceilingcat
c,i;main(m){for(char*s=" _ 4_ 999_6 998_ 1\n|B 2|B 997(_6) 9_ 94|B \n| |_1C _3 _3 1_3 1_ 2_ 3_4 2_3 1_2|B_ 1_3 1_3|B \n| 1_1)|B/ _ 1\\| 1_ \\| 1_E 1| 1_2) / _ 1|/_2) 1_)/ _ 1)/ _2)_| \n|B 2| ( (J_|B 1|B_3( (C_2C_( (/ /|B 3_ 1\n|_| 2|_|\\_||_|B1_/|B1_/ \\_1 1| 1|_6)_|1_(_2/ \\_2)_3)_| 2|_| \n 94|_| 2|_| 2(_3/\n";*s;s++)for(i=isdigit(*s)?c=m,*s-48:isalpha(*s)?c=0,*s-65:(c=*s,1);i--;)printf(c?m=c,&c:" |");}

Ungolfed Thử trực tuyến

#include <stdio.h>
#include <stdint.h>

char m = 0;

void g(char c, int i)
{
    while(i--) c ? m=putchar(c) : printf(" |");
}

void p(char* s)
{
    while(*s)
        isdigit(*s) // golfed if-else-if
        ? g(m,*s-48)
        : isalpha(*s)
          ? g(0,*s-65)
          : g(*s,1)
        ,
        s++;
}

int main()
{
    p(" _ 4_ 999_6 998_ 1\n|B 2|B 997(_6) 9_ 94|B \n| |_1C _3 _3 1_3 1_ 2_ 3_4 2_3 1_2|B_ 1_3 1_3|B \n| 1_1)|B/ _ 1\\| 1_ \\| 1_E 1| 1_2) / _ 1|/_2) 1_)/ _ 1)/ _2)_| \n|B 2| ( (J_|B 1|B_3( (C_2C_( (/ /|B 3_ 1\n|_| 2|_|\\_||_|B1_/|B1_/ \\_1 1| 1|_6)_|1_(_2/ \\_2)_3)_| 2|_| \n 94|_| 2|_| 2(_3/\n");
    return 0;
}

5

JavaScript, 297 byte

console.log(` 29 288999002889 3 
19 18899 500_)82891
1__ 1 0_ 02022 290_2 02012020_1
|3_)162|3 \\|3 \\1 19|90) 62|/0)3)62)60)_|
19 |55 1 1 1 1 71910_(5 10 1_(56/193 
7|4\\_|717/176\\_2|9|00_)_|7(06\\0)0_)_|4
8 44950_/`.replace(/\d/g,n=>`___,| |,_  ,  _,   |_|, (,/ ,|_,          ,  `.split`,`[n]))

Mã hóa đơn giản trong mười phần tử chung nhất (theo như tôi có thể nói). Chúng không theo thứ tự vì chồng chéo; bộ mã hóa của tôi (bên dưới) cần xem ví dụ '_ '' _'trước đó ' '.

(s,a,t=s)=>a.map((t,i)=>s=s.split(t).join(i))&&[s,(b=>{b=new Map;for(i=0;i<s.length;i++)for(j=0;j<i;j++)b.set(s.slice(j,i),s.length-s.split(s.slice(j,i)).join().length-i+j-1);return[for(x of b)if(x[1]>0&&!/\d/.test(x[0]))x].sort(([a,b],[c,d])=>b-d)})(),t.length-(s+' '+a).length]

Điều này cần một chuỗi và một chuỗi các chuỗi con để mã hóa và trả về a) chuỗi được mã hóa b) danh sách các khoản tiết kiệm tiếp theo tiềm năng c) số lượng byte được lưu cho đến nay.


5

, 72 ký tự / 209 byte

`Эć훼쎧漤詼媰਀㻆僚픈耊Ⓢኍ⋱쬝ᇑ덆䖇䂊՛樥첾㨭쯠ཁ톇:덱螟醮䖉⥊覂削ꇉ漈涹႘챘ඕ꼳⁒᭷Ừ䒕鶀놜㆝〢ﱱꎀ쎴䋈㗂䅉Ⴄቀ쳵菨ⶩ∉툲耀

Try it here (Firefox only).

Chà, ít nhất là số char rất tuyệt, nhưng chúng ta không thể sử dụng trang mã tùy chỉnh. Nó chỉ là một giải nén LZString. Tôi cũng đang nghiên cứu một giải pháp khác - nhiều hơn về điều đó sau.


5

Perl 5, 286 byte

perl -M5.01 happy.pl, ở đâu happy.pl:

$_='u5u28 7_27u
~~x~~25 (7_)10u7x~~
~p_ ~~4_ 4_x4_x_3u4 5_3 4_x3_~px4_x4_~~
~u_)~|/ux~u \~u \4~ ~ 3_) /ux|/3_)x_)/ux)/ 3_)_|
~~x~( ( 8~p~~ ~|4-( ( ~p__ ~p( (/ /~~3u
p~xp|\_|p~|p/~|p/ \__x~ p6_)_|p(3_/ \3_)4_)_~xp|
14 p~xp~x(4_/';s/u/ _/g;s/\d+(.)/$1x$&/ge;s/x/  /g;s/~/| /g;s/p/|_/g;say

Cảm ơn Dom Hastings (trong một bình luận ở đây) cho một ý tưởng đã tiết kiệm cho tôi hai byte và dẫn đến một ý tưởng khác của tôi đã cứu thêm bốn người nữa.


Chắc chắn bạn nên sử dụng Llàm tốc ký cho |_;-)
Neil

3

Python 2, 343 328 316 byte

Giải pháp này không sử dụng chức năng giải nén hoặc nhập khẩu khác.

o=""
for i in range(250):j=ord(")*I*yyQZyyI*(!+9!+yyA,Z-q*y9!+(!+2)!!B)B1B1*9*AJ9B1:!+*1B1B!+(+12-!+/)*1+1*).+1*).!!!+1+1:-)/)*1+/:-1*-/)*1-/):-*+(!+9!,),)!!!!!!!!+*!+1!+B,),)!+:)!+*,),/)/!+A*(+*+9+*+.*3*!3*/!3*/).21+1+Z-*3*,:/).:-B-*+9+*+(y9+*+9+*+9,B/(".replace("!","+)")[i])-40;o+="\n _|()\/"[j&7]*(j/8+1)
print o

Phiên bản dễ đọc:

DATA=(")*I*yyQZyyI*("
"!+9!+yyA,Z-q*y9!+("
"!+2)!!B)B1B1*9*AJ9B1:!+*1B1B!+("
"+12-!+/)*1+1*).+1*).!!!+1+1:-)/)*1+/:-1*-/)*1-/):-*+("
"!+9!,),)!!!!!!!!+*!+1!+B,),)!+:)!+*,),/)/!+A*("
"+*+9+*+.*3*!3*/!3*/).21+1+Z-*3*,:/).:-B-*+9+*+("
"y9+*+9+*+9,B/(").replace("!","+)")
SIZE=250
o=""
for i in range(SIZE):
 j=ord(DATA[i])-40
 o+="\n _|()\/"[j&7]*(j/8+1)
print o

Sử dụng phiên bản mã hóa độ dài chạy với 3 bit cho một ký hiệu từ tập hợp "\ n _ | () /". Phần còn lại của byte là độ dài, nhưng tôi đã giới hạn độ dài là 10 và thao tác với nó để kết quả là các ký tự có thể in được, có giá trị trong chuỗi python mà không thoát được.

Thay thế chuỗi tương ứng bằng "|" bằng một ký tự trong dữ liệu được mã hóa sẽ tiết kiệm thêm một vài byte.

Tôi đã loại bỏ các khoảng trống ở dòng 1 và 5, có thể uốn cong các quy tắc một chút, nhưng có vẻ thực tế.

Chương trình này tạo ra dữ liệu đóng gói:

message="""
 _     _                            _______                           _
| |   | |                          (_______)          _              | |
| |__ | | ____ ____  ____  _   _    _____   ____  ___| |_  ____  ____| |
|  __)| |/ _  |  _ \|  _ \| | | |  |  ___) / _  |/___)  _)/ _  )/ ___)_|
| |   | ( ( | | | | | | | | |_| |  | |____( ( | |___ | |_( (/ /| |    _
|_|   |_|\_||_| ||_/| ||_/ \__  |  |_______)_||_(___/ \___)____)_|   |_|
              |_|   |_|   (____/"""[1:]
size=len(message)
symbols="\n _|()\/"
i=0
encoded=""
while i<size:
    count=0
    while count<10 and i+count+1<size and message[i+count+1]==message[i]:
        count+=1
    n = symbols.find(message[i]) | count<<3
    encoded+=chr(n+40)
    i+=count+1
encoded_lines = encoded.replace("+)","!").split(chr(40))
for line in encoded_lines:
    print line+chr(40)
print len(encoded)

Xin chào, và chào mừng đến với PPCG! Bài đăng tuyệt vời!
NoOneIsHãy

@NoOneWasLiterallyEverHereEver không phải là bài đăng đầu tiên của họ hay bất cứ điều gì, nhưng chắc chắn :)
mèo

2

Python 2, 159 byte

Nguồn này chứa các ký tự không in được, do đó, nó được trình bày dưới dạng hexdump có thể được giải mã xxd -r.

00000000: efbb bf70 7269 6e74 2278 017d 8fb5 7540  ...print"x.}..u@
00000010: 3114 c5fa 3f85 4abb f240 012d a2dd 432f  1...?.J..@.-..C/
00000020: 4cba c732 1302 20ff e0c0 dfc8 1501 e33f  L..2.. ........?
00000030: 580e 9b77 e40b d115 2911 aa23 1c33 05a7  X..w....)..#.3..
00000040: cf54 6ae4 74c7 7310 baa3 8310 c86d 8c27  .Tj.t.s......m.'
00000050: 04ea 6656 9c79 9bfb a5fb 6cdd f6fe b5c5  ..fV.y....l.....
00000060: a2ef 3182 4875 56a4 123d 770f 2702 902b  ..1.HuV..=w.'..+
00000070: 03b2 5bcb 28cf 985b 8520 876d b974 a6dc  ..[.(..[. .m.t..
00000080: be28 20bb f842 f6ee a57a 1e01 c1a2 733e  .( ..B...z....s>
00000090: 222e 6465 636f 6465 2827 7a69 7027 29    ".decode('zip')

2

Vợt, 367 364 byte

(require file/gunzip net/base64)((λ(o)(gunzip-through-ports(open-input-bytes(base64-decode #"H4sIAOhN/lYAA31QwQ3EMAj7dwqezYuFInkRhj+MoWor9UBCmGBDMBhN8cMg+9dhR1hkovhhZwutO/FhSadQzqJQDdXkjsOYfa5Hkm4QEsp0ZeYkEdmeKK8i91GHazesgoyJEdfXzvR4O1ooOLY7oA8QunnfhDdCCSE2oogBV7QN7RhzI3bwYPWUUDXRj9fVpj439h/OlCKU1gEAAA=="))o)(displayln(get-output-string o)))(open-output-bytes))

Ung dung

(require file/gunzip net/base64)
((λ (o)
   (gunzip-through-ports
    (open-input-bytes
     (base64-decode
      #"H4sIAOhN/lYAA31QwQ3EMAj7dwqezYuFInkRhj+MoWor9UBCmGBDMBhN8cMg+9dhR1hkovhhZwutO/FhSadQzqJQDdXkjsOYfa5Hkm4QEsp0ZeYkEdmeKK8i91GHazesgoyJEdfXzvR4O1ooOLY7oA8QunnfhDdCCSE2oogBV7QN7RhzI3bwYPWUUDXRj9fVpj439h/OlCKU1gEAAA=="))
    o)
   (displayln (get-output-string o)))
 (open-output-bytes))

Dựa trên một thử thách tương tự tôi đã trả lời .


2

/// , 282 279 byte

Cải thiện: Tôi nhận thấy rằng có quá nhiều //lệnh thay thế, vì vậy tôi quyết định nén chúng (để m), giúp tôi tiết kiệm được 3 byte.

/m/\/\///l/ _mk/|amj/b_mi/\\\m/h/|cmg/ddmf/ccme/bbmd/aamc/ |mb/__ma/  /ldlgggdejgggal 
hafggga(ej)ga_gdah
hbf e eaea_alde_a eajh_aeaeh
kb)hilak_ \\k_ \\|fcakj) ila|ij)a_)ila)i j)_|
hac ( (ffffc_hahe( (fjf_( (i ihd_ 
|_kc_|\\_||_h|_ih|_i \\bak|ej)_||_(ji \\j)e)_kc_|
gda|_kc_k (ei

Lặp lại nén chuỗi con thường xuyên nhất.

Thế hệ thứ mười ba, 282 byte

/l/ _//k/|a//j/b_//i/\\\///h/|c//g/dd//f/cc//e/bb//d/aa//c/ |//b/__//a/  /ldlgggdejgggal 
hafggga(ej)ga_gdah
hbf e eaea_alde_a eajh_aeaeh
kb)hilak_ \\k_ \\|fcakj) ila|ij)a_)ila)i j)_|
hac ( (ffffc_hahe( (fjf_( (i ihd_ 
|_kc_|\\_||_h|_ih|_i \\bak|ej)_||_(ji \\j)e)_kc_|
gda|_kc_k (ei

Hãy thử trực tuyến!

Thế hệ thứ nhất, 486 byte

Không nén. Thoát khỏi /\.

 _     _                            _______                           _ 
| |   | |                          (_______)          _              | |
| |__ | | ____ ____  ____  _   _    _____   ____  ___| |_  ____  ____| |
|  __)| |\/ _  |  _ \\|  _ \\| | | |  |  ___) \/ _  |\/___)  _)\/ _  )\/ ___)_|
| |   | ( ( | | | | | | | | |_| |  | |____( ( | |___ | |_( (\/ \/| |    _ 
|_|   |_|\\_||_| ||_\/| ||_\/ \\__  |  |_______)_||_(___\/ \\___)____)_|   |_|
              |_|   |_|   (____\/

Hãy thử trực tuyến!

Thế hệ thứ hai, 402 byte

Nén hai không gian để a. Có /a/ /nghĩa là "thay thế tất cả các lần xuất hiện của ahai không gian".

/a/  / _aa _aaaaaaaaaaaaaa_______aaaaaaaaaaaaa _ 
| |a | |aaaaaaaaaaaaa(_______)aaaaa_aaaaaaa| |
| |__ | | ____ ____a____a_a _aa_____a ____a___| |_a____a____| |
|a__)| |\/ _a|a_ \\|a_ \\| | | |a|a___) \/ _a|\/___)a_)\/ _a)\/ ___)_|
| |a | ( ( | | | | | | | | |_| |a| |____( ( | |___ | |_( (\/ \/| |aa_ 
|_|a |_|\\_||_| ||_\/| ||_\/ \\__a|a|_______)_||_(___\/ \\___)____)_|a |_|
aaaaaaa|_|a |_|a (____\/

Hãy thử trực tuyến!

Thế hệ thứ ba, 369 byte

Nén __để b. Các /b/__/tại các phương tiện bắt đầu "thay thế tất cả các lần xuất hiện của bđể __".

/b/__//a/  / _aa _aaaaaaaaaaaaaabbb_aaaaaaaaaaaaa _ 
| |a | |aaaaaaaaaaaaa(bbb_)aaaaa_aaaaaaa| |
| |b | | bb bbabba_a _aabb_a bbab_| |_abbabb| |
|ab)| |\/ _a|a_ \\|a_ \\| | | |a|ab_) \/ _a|\/b_)a_)\/ _a)\/ b_)_|
| |a | ( ( | | | | | | | | |_| |a| |bb( ( | |b_ | |_( (\/ \/| |aa_ 
|_|a |_|\\_||_| ||_\/| ||_\/ \\ba|a|bbb_)_||_(b_\/ \\b_)bb)_|a |_|
aaaaaaa|_|a |_|a (bb\/

Hãy thử trực tuyến!

Thế hệ thứ tư, 339 byte

Nén |để c. Các /c/ |/tại các phương tiện bắt đầu "thay thế tất cả các lần xuất hiện của cđể |".

/c/ |//b/__//a/  / _aa _aaaaaaaaaaaaaabbb_aaaaaaaaaaaaa _ 
|caccaaaaaaaaaaaaa(bbb_)aaaaa_aaaaaaa|c
|cbcc bb bbabba_a _aabb_a bbab_|c_abbabb|c
|ab)|c\/ _a|a_ \\|a_ \\|ccca|ab_) \/ _a|\/b_)a_)\/ _a)\/ b_)_|
|cac ( (ccccccccc_|ca|cbb( (ccb_cc_( (\/ \/|caa_ 
|_|ac_|\\_||_|c|_\/|c|_\/ \\ba|a|bbb_)_||_(b_\/ \\b_)bb)_|ac_|
aaaaaaa|_|ac_|a (bb\/

Hãy thử trực tuyến!

Phần còn lại của các quy tắc nén

Vì vậy, danh sách các quy tắc nén:

  • Nén hai không gian để a.
  • Nén __đểb.
  • Nén |để c.
  • Nén aađể d.
  • Nén bbđể e.
  • Nén ccđể f.
  • Nén ddđể g.
  • Nén |cđể h.
  • Nén \/để i. Cả hai \/trong các quy tắc được tiếp tục thoát.
  • Nén b_để j.
  • Nén |ađể k.
  • Nén _để l.
  • Nén //để m.

Như bạn có thể thấy, có các quy tắc nén chồng chéo. Ví dụ, gddhóa aaaamã hóa mã hóa 8 khoảng trắng.


Nếu bạn muốn say rượu nhưng không có bất kỳ loại rượu nào trong tầm tay, hãy thử phát âm một trong những thứ này. được chứng minh là có tác dụng với cha mẹ
con mèo

2

Mẹ của bạn (không cạnh tranh), 331 byte

Giải mã chuỗi và giải nén nó bằng máy nén Jelly

'IF8KfCgpL1z/AQAAAQAAAAAAAAAAAAAAAAAAEREREAAAAAAAAAAAAAAAAAAQIwMAAwMAAAAAAAAAAAAAAAAAQREREVAAAAAAAQAAAAAAAAAwMjAxEDAwEREBERABERABAAEAABEREAAREQAREwMQAREQARETAyMAEVMDYBADABBzABBzAwMDADABEVBgEANhEVABVgEAVgERUTIwMAAwQEAwMDAwMDAwMDEwMAMDERFAQDAxEQMDFARgYwMAABAjEwADE3EzEwMxYwMxYHEQAwAxERERUTMUERYHERUREVEwADEyAAAAAAAAADEwADEwAEERFg=='`

Làm thế nào bạn cạnh tranh trong mẹ tôi?!?! Đăng ký đã đóng cửa vài tháng trước ...
Bạch tuộc ma thuật Urn

1

Python 3, 377 byte

from re import*;i=0
r=r'2_.7_./ .|2.| .4_.\\. _._d|.( (.3_). _ .2|_. |2 ._| |.a| |./ _2 .|3 |_. 4_2 . | |.\n'
e='an5n28 t27jf3b26 (t)10n14bfub pcp2n3n4 5_3c3g_2c4gar u)q|erjorjo|bhr k e|/k2n)e)sk_|f3 qlbbbb |g2bplb3_b_ls/q|4ja|mo_iqi/qisou2h|t)_i(3_sokp)ma14 |m3 (p/'
for j in r.split('.'):e=sub(chr(117-i),j,e);i+=1
print(sub('(\d+)(.)',lambda x:int(x.group(1))*x.group(2),e))

tương tự như câu trả lời javascript, RLE được sử dụng cộng với một loạt các thay thế cho các chuỗi con phổ biến.

Nghĩ rằng tôi đã đi một chút so với đầu trang với những thứ thay thế, có lẽ không giúp được gì nhiều nhưng ồ tốt.


1

JavaScript (ES6), 354 byte

Một nỗ lực khác. Không hiệu quả như chiều dài chạy, thật không may.

i=0,console.log(`1c1bt96zfx1!1n4ikabr1w5!1n4iut4kyue!krgqthnkpkem8!43tb4j2urme!8hwrsagny80!69dfowb7hvk!2xj89rpvcb2!23l14ken5i1!1xzn6ns7j78!1tzyivgb4h2!1yy885vts00!12du7km7f51!1lvpcyzgbfq!17nicizf8og0!1246xqebgb9!1n4j181hywz!`.replace(/\w+!/g,v=>parseInt(v,36).toString(4).replace(/./g,w=>"_ |"[w]||`
()

)/\\\\)//))/)/)
((((((//
\\//\\)(/\\))
(/`[i++])))

Lưu trữ một loạt các số cơ sở 36 trong chuỗi đầu tiên, được phân tách bằng !dấu phân cách. Sau đó thay thế các số (cùng với !) bằng các biểu diễn cơ sở 4 của số. Thay thế tất cả các 0, 1, và 2 trong số cơ sở-4 với _,  |tương ứng, và tất cả 3 nhân được thay thế bằng các yếu tố trong chuỗi thứ hai liên tục.


1

Python 3, 263 byte

Vượt qua ban đầu bằng cách sử dụng nội dung.

from base64 import*
from zlib import*
print(decompress(a85decode(b"Gas1Y_%\"=:#lAfQT$<1I,'acT5E):N/+l.oQs`98(esP<+T'c!7p'"
b";rpgIeCXZQ&]8Z,D1U/2<LjGq-FIBH)'D@dH'FCjS[&_Wa(Y9N^<LMJiMJrGNuf@S=?GWT(W34:oA%hQ<"
b"thh3pT#pD4$L]LSa%IG!R,BiQaoor91d>uo0VEQs4+2O[m4o")).decode())

một số trích dẫn bổ sung và ngắt dòng được thêm vào để tránh cuộn ngang chỉ nhằm mục đích hiển thị (không được tính vào điểm số)


6
Đừng lo lắng về cuộn ngang. Chỉ cần sao chép-dán văn bản như nó vốn có, bởi vì đó là những gì chúng tôi trong tâm đang.
El'endia Starman

Tôi biết, tôi chỉ muốn tránh nó. Cũng có thể không làm hex tất cả đẹp.
Nick T

Bạn có thể thử lưu trữ dữ liệu zlib trong một chuỗi. Bạn có thể thoát khỏi một số nhân vật, nhưng nó có thể ngắn hơn rất nhiều. Xem câu trả lời này là tài liệu tham khảo.
bất cứ lúc nào

@agtoever repr()chuỗi thô dài hơn nhiều so với ascii85
Nick T

4
@NickT Vui lòng xóa các trích dẫn và khoảng trắng bổ sung. Mã của bạn phải sao cho chúng ta có thể sao chép / dán mã vào bộ đếm byte và nhận được kết quả tương tự. Cảm ơn. Nếu bạn muốn có một phiên bản đẹp, có thể hiển thị, hãy đăng một phiên bản không chơi gôn.
mbomb007

1

CJam, 229

"3WPPEFXvN'vlFBse/cTD>.x:Na,Y&NJH^tZ%xL(NkYzo0Rq%BeV&Zl1T^2y69,W/QC4pL`nv<Jo$'Cq.'m2-3H#9teHi&<uyO>f V)D\E y'*]oGq*ODjQLyoS*GyM7;\Z.n6B;J@OyEaE!4'E5p5MOl^#[,ZtA;`jy,gTP^\;;i<A6^:k1%"' fm91b31b"}*+{~'NHIF\JLM
OGQK)(P/RST|_- \""f=~

Không có ký tự sôi nổi và không có nén tích hợp :)

Dùng thử trực tuyến


1

Lua, 353 byte

Chương trình:

a=(" _ 5_ 28_7 27_\n|~ 2~2 26(_7) 10_ 13~2\n|~_2~2 _4 _4 2_4 2_ 3_ 4_5 3_4 2_3|~_ 2_4 2_4|~\n| 2_2)|~/ _ ~ 2_ \\| 2_ \\|~3 ~ 2_3) / _ ~/_3) 2_)/ _ 2)/ _3)_|\n|~ 2~ ( (~9_|~ ~2_4( (~2_3~2_( (/ /|~ 4_\n|_| 2~_|\\_|2_|~|_/|~|_/ \\_2 ~ ~_7)_|2_(_3/ \\_3)_4)_| 2~_|\n 13~_| 2~_| 3(_4/"):gsub("(.)(%d+)",function(a,b)return a:rep(b)end):gsub("~"," |")print(a)

Cảm ơn @jrich đã nén.


1

Ruby, 271 262 248 byte

require'zlib'
require'base64'
puts Zlib.inflate Base64.decode64'eJx1UMENxDAI+zMFz+bFQpG8CMMX46DeVWpQrJjYhGDp6e7Cj3VBaz0p/CvKbrWBLkStYHAcEH8uafqhUKE6rjoFTWS+BxWdZD9ShHrDakosju6oe7sq8h04hZLPHgX0AdLwODOBG8VOy0a2MRFC31CPOTOiggPrq6LKyW6vqU1+Zhx2A7NMZ9I'

Hãy thử nó ở đây


1

Vim , 374 365 326 319 313 311 tổ hợp phím

9 tổ hợp phím nhờ @Dr Green Eggs và Ham DJ .

:im @ ___<CR>
:im % _|<CR>
a _## _<esc>28a <esc>yl7a_<esc>27pa_ <CR>
|!#!!<esc>26pa(<esc>7a_<esc>a)<esc>10pa_<esc>14pa|!<CR>
|!__!!<esc>3a @_<esc>bi <esc>A#_# _##@__# @_#@|!_#@_#@%!<CR>
|#__)|!/ _ !#_ \|#_ \<esc>4a| <esc>a!#@) / _ !/@)#_)/ _#)/ @)%<CR>
|!#! ( (<esc>9a!<esc>a%! !!@_( (!!@!!_( (/ /|!##_ <CR>
|%#!%\%|_<esc>2a|!|_/<esc>a \__ ! !<esc>7a_<esc>a)%|_(@/ \@)@_)%#!%<CR>
<esc>14pa|%#!%# (@_/<esc>
:%s/!/ |/g<CR>
:%s/#/  /g<CR>

Có lẽ có thể được chơi golf hơn nữa bằng cách sử dụng :nn?


Đây là một vài mẹo nhanh sau khi lướt qua. 1. Bạn làm <number>a <esc>rất nhiều. Nếu bạn làm yltrên một không gian, bạn có thể thay thế bằng <number>p. Điều đó sẽ tiết kiệm khoảng 8. 2. Bạn có thể thay thế eabằng A. Bạn có thể có thể mất nhiều hơn nếu bạn thay đổi cách tiếp cận của mình, nhưng đó là những mẹo nhanh mà tôi thấy.
James

@DrGreenEggsand HamDJ Có cách nào để tôi có thể ánh xạ một lần nhấn phím để gõ _|vv không?
Nữ tu bị rò rỉ

Tôi đang sử dụng điện thoại, vì vậy tôi không thể kiểm tra điều này, nhưng tôi nghĩ rằng điều này không chính xác. :schỉ thay thế trên một dòng. Bạn muốn :% s. Bạn cũng có thể lưu một số tổ hợp phím bằng cách thực hiện :im(imap) thay vì tìm kiếm và thay thế. (Mặc dù bạn có thể cần sử dụng ctrl-v hoặc ctrl-q để ánh xạ tới một khoảng trắng)
James

@DrGreenEggsandoutDJ Tuyệt vời, nhưng tôi chỉ sử dụng :immột vài byte nữa.
Nữ tu bị rò rỉ

1

Javascript (ES6) 464 352 byte

00000000  63 6f 6e 73 6f 6c 65 2e  6c 6f 67 28 60 08 09 28  |console.log(`..(|
00000010  09 c3 a0 39 c3 98 09 08  0f 0c 08 0c 18 0c 08 0c  |...9............|
00000020  c3 90 0a 39 0e 50 09 70  0c 08 0c 0f 0c 08 0c 11  |...9.P.p........|
00000030  08 0c 08 0c 08 21 08 21  10 21 10 09 18 09 20 29  |.....!.!.!.... )|
00000040  18 21 10 19 0c 08 0c 09  10 21 10 21 0c 08 0c 0f  |.!.......!.!....|
00000050  0c 10 11 0e 0c 08 0c 0a  08 09 10 0c 10 09 08 0c  |................|
00000060  10 09 08 0c 08 0c 08 0c  08 0c 10 0c 10 19 0e 08  |................|
00000070  0a 08 09 10 0c 0a 19 0e  10 09 0e 0a 08 09 10 0e  |................|
00000080  0a 08 19 0e 09 0c 0f 0c  08 0c 18 0c 08 0a 08 0a  |................|
00000090  08 0c 08 0c 08 0c 08 0c  08 0c 08 0c 08 0c 08 0c  |................|
000000a0  08 0c 09 0c 08 0c 10 0c  08 0c 21 0a 08 0a 08 0c  |..........!.....|
000000b0  08 0c 19 08 0c 08 0c 09  0a 08 0a 08 0a 0c 08 0c  |................|
000000c0  20 09 08 0f 0c 09 0c 18  0c 09 0c 09 14 09 0c 08  | ...............|
000000d0  14 09 0a 0c 08 14 09 0a  08 11 10 0c 10 0c 39 0e  |..............9.|
000000e0  09 14 09 0a 19 0a 08 19  0e 21 0e 09 0c 18 0c 09  |.........!......|
000000f0  0c 0f 70 0c 09 0c 18 0c  09 0c 18 0a 21 60 2e 73  |..p.........!`.s|
00000100  70 6c 69 74 28 22 22 29  2e 6d 61 70 28 61 3d 3e  |plit("").map(a=>|
00000110  61 2e 63 68 61 72 43 6f  64 65 41 74 28 29 29 2e  |a.charCodeAt()).|
00000120  6d 61 70 28 61 3d 3e 41  72 72 61 79 28 28 61 3e  |map(a=>Array((a>|
00000130  3e 33 29 2b 31 29 2e 6a  6f 69 6e 28 22 20 5f 2f  |>3)+1).join(" _/|
00000140  5c 5c 7c 28 29 5c 6e 22  2e 73 70 6c 69 74 28 22  |\\|()\n".split("|
00000150  22 29 5b 61 26 37 5d 29  29 2e 6a 6f 69 6e 28 22  |")[a&7])).join("|
00000160  22 29 29                                          |"))|

Hãy thử nó ở đây!


1

HTML, 482 481 475 byte

<pre> _     _                            _______                           _ 
| |   | |                          (_______)          _              | |
| |__ | | ____ ____  ____  _   _    _____   ____  ___| |_  ____  ____| |
|  __)| |/ _  |  _ \|  _ \| | | |  |  ___) / _  |/___)  _)/ _  )/ ___)_|
| |   | ( ( | | | | | | | | |_| |  | |____( ( | |___ | |_( (/ /| |    _ 
|_|   |_|\_||_| ||_/| ||_/ \__  |  |_______)_||_(___/ \___)____)_|   |_|
              |_|   |_|   (____/


Lưu ý: Người ta không chỉ đơn giản xem điều này đúng trên điện thoại.
dùng8397947

Vì dù sao bạn cũng đang làm tất cả những điều này, nên bạn không cần thẻ đóng trước
Trình tối ưu hóa

Và tại sao bạn có dấu cách trên dòng thứ 5? : P
Trình tối ưu hóa

1

05AB1E , 171 byte

"_ |0/)(
\"•1æÆ&¢ÙDÿœƒ˜¶f
¹∍[saÎΛÞÀθ¶\‚e–8(¬šôon&{wαλµ.cRŽ1ºWèíÄʒΣ ι.ì¨Gt‰?WиΛÆ—©UãšW#тÊ÷´¥b™¢,V§¯l€éàøjòÐø¬ëäÇ kĀT¬Àн4p«ªÒdαñáyÛƦ‚@ø‘Ñ‚иu₅₂Qp>øî÷^‡иÓ7¯ÓÇŠ@ÄéS•9вèJ0…   :

Hãy thử trực tuyến.

Giải trình:

"_ |0/)(
\"            "# Push string "_ |0/)(\n\"
  1æÆ&¢ÙDÿœƒ˜¶f
  ¹∍[saÎΛÞÀθ¶\‚e8(¬šôon&{wαλµ.cRŽ1ºWèíÄʒΣ ι.ì¨Gt‰?WиΛÆ—©UãšW#тÊ÷´¥b™¢,V§¯l€éàøjòÐø¬ëäÇ kĀT¬Àн4p«ªÒdαñáyÛƦ‚@ø‘Ñ‚иu₅₂Qp>øî÷^‡иÓ7¯ÓÇŠ@ÄéS•
               # Push compressed integer 1097503083536947704653792841425892054204805659502021445044262296065039856679486956980779201344195600186307613120325421519873972685660197036332437042797892085831181080642513349371962439499848029872306826792254102689695782393365417312419084231420872539225014767457254170199022042856591776594745757160095950475758150232076499909206475280246564765470414367938
   9в          # Converted to Base-8 as list: [1,0,3,1,1,0,3,3,3,3,3,3,3,3,3,1,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,0,7,2,1,2,3,2,1,2,3,3,3,3,3,3,3,3,1,1,6,0,0,0,0,0,0,0,5,3,3,3,1,0,3,3,3,3,1,1,2,1,2,7,2,1,2,0,0,1,2,1,2,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,1,0,3,0,3,1,0,0,0,0,0,3,0,0,0,0,1,1,0,0,0,2,1,2,0,1,1,0,0,0,0,1,1,0,0,0,0,2,1,2,7,2,1,1,0,0,5,2,1,2,4,1,0,1,1,2,1,1,0,1,8,2,1,1,0,1,8,2,1,2,1,2,1,2,1,1,2,1,1,0,0,0,5,1,4,1,0,1,1,2,4,0,0,0,5,1,1,0,5,4,1,0,1,1,5,4,1,0,0,0,5,0,2,7,2,1,2,3,2,1,6,1,6,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,2,1,2,1,1,2,1,2,0,0,0,0,6,1,6,1,2,1,2,0,0,0,1,2,1,2,0,6,1,6,4,1,4,2,1,2,3,1,0,7,2,0,2,3,2,0,2,8,0,2,2,0,2,1,2,2,0,4,2,1,2,2,0,4,1,8,0,0,1,1,2,1,1,2,0,0,0,0,0,0,0,5,0,2,2,0,6,0,0,0,4,1,8,0,0,0,5,0,0,0,0,5,0,2,3,2,0,2,7,3,3,3,3,1,1,2,0,2,3,2,0,2,3,6,0,0,0,0,4]
     è         # Index each into the string
      J        # Join all characters together to a single string
       0   :  # Replace all "0" with "   " (3 spaces)
               # (and output the string implicitly as result)

Xem mẹo 05AB1E này của tôi (phần Cách nén số nguyên lớn?Cách nén danh sách số nguyên? ) Để hiểu cách hoạt động của số nguyên và danh sách Base-8.


Tôi sẽ đánh bạn;).
Bạch tuộc ma thuật Urn

1
Đừng bận tâm, không tôi không +1.
Bạch tuộc ma thuật Urn

@MagicOctopusUrn: D
Kevin Cruijssen

1

C (gcc) , 280 279 byte

f(i){for(char*A=" _|/\\()\n",*s="H@@H.@#IA-@AWP@PP-@M#IF$@H'@BzBJABBIIHIAHIAH@H@@IIA@II@IQPAHIAHIQPW@IVPCAP@AT@AT#P@BHIFCAPKIFH^H@^HINzBB@BEE(BJBBPPIIEEBJIPPihCSP@@AWQ@PQLRQPJSPJCLAP@J#INRiIY`IqIINB@Jz'@JB@JB@MIY";i=*s>63?:*s++;s++)for(;i--&31;)printf("%c%c",A[*s&7],A[*s/8&7]);}

Hãy thử trực tuyến!

Chạy xuống

Chúng tôi xác định một bảng chữ cái gồm 8 ký hiệu " _|/\\()\n"và nén dữ liệu bằng cách đóng gói hai ký hiệu trên mỗi byte theo chỉ mục của nó trong bảng chữ cái, với ký hiệu đầu tiên là các bit 0..2 và thứ hai trong 3..5. Bit 6 được thiết lập để đưa byte kết quả vào lãnh thổ ASCII có thể in được. Một RLE đơn giản sau đó được chạy trên chuỗi nén. Nếu một ký hiệu trong chuỗi xuất hiện nhiều hơn hai lần liên tiếp, thì nó được lưu dưới dạng một cặp ký tự, với ký hiệu đầu tiên chứa chiều dài chạy cộng với 32 (bộ 5 bit) và chính thứ hai là ký hiệu.

f(i){                                               i is run-length; not actually passed to f()
    for(                                            Loop over compressed string.
        char*A=" _|/\\()\n",                        Alphabet
        *s="...";                                   Compressed string.
        i=*s>63?:*s++;                             If char is outside symbol range, use as run-length and skip to next. Stop on EOS.
        s++)                                        Advance to next char.
            for(;i--&31;)                           Repeat symbol pair per run-length.
                printf("%c%c",A[*s&7],A[*s/8&7]);   Extract symbols from character and print.
}

Hãy thử trực tuyến!


@ceilingcat Hừm. Không thể được gọi lại mà không có đầu ra sôi nổi. Tuy nhiên, điều chỉnh nó một chút và có 279.
dạ dày

0

Javascript ES6, 314 byte

Chứa các byte không thể in được. Sử dụng một số phép thuật JS đen để chạy. Nếu console.log()cần cho câu trả lời này là hợp lệ, số byte sẽ là 327.

[...`Ãm°Ûm¶Ûm¶Ûm¶Û\`��m¶Ûm¶Ûm¶Ûm�ç�±Çm¶Ûm¶Ûm¶Ûh���¶Ûm°Ûm¶Ûm�<â�8à�À�°�l6Ãm��m��\`�Äl����Ç��§��Ça�ØfqÇ��À�����»
°Ú¬� ó�Øé¦8ã�8ã� ã±Ä�&�â�Ç�4Y�vØnAÛ�X$�HG��\`lv �� ���0��
�Ø�öÛm¶Ûb�Ø�¶���`].map(a=>'0'.repeat(8-(z=a.charCodeAt().toString(2)).length)+z).join``.replace(/.{1,3}/g,a=>`_|/\\()
`[parseInt(a,2)]).slice(0,-2)

Đây là một nỗi đau rất lớn để trở nên đúng đắn và tôi không thể thoát khỏi .slice(0,-2):(
Sẽ chỉnh sửa trong một lời giải thích vào ngày mai khi tôi bớt mệt mỏi.

Thay thế từng byte đơn bằng giá trị hex tương ứng để đoạn mã có thể chạy

f=_=>
[...`\xc3\x6d\xb0\xdb\x6d\xb6\xdb\x6d\xb6\xdb\x6d\xb6\xdb\x60\x00\x00\x6d\xb6\xdb\x6d\xb6\xdb\x6d\xb6\xdb\x6d\x86\xe7\x1d\xb1\xc7\x6d\xb6\xdb\x6d\xb6\xdb\x6d\xb6\xdb\x68\x00\x00\x0b\xb6\xdb\x6d\xb0\xdb\x6d\xb6\xdb\x6d\x8e\x3c\xe2\x06\x38\xe0\x00\xc0\x01\xb0\x00\x6c\x36\xc3\x6d\x80\x00\x6d\x80\x03\x60\x01\xc4\x6c\x00\x1b\x00\x01\xc7\x9d\x80\xa7\x15\x86\xc7\x61\x99\xd8\x66\x71\xc7\x1d\x8e\xc0\x0b\x96\x1b\x14\x00\xbb\x0a\xb0\xda\xac\x00\xa0\xf3\x8e\xd8\xe9\xa6\x38\xe3\x8e\x38\xe3\x8e\x20\xe3\xb1\xc4\x00\x26\x98\xe2\x00\xc7\x11\x34\x59\x1c\x76\xd8\x6e\x41\xdb\x10\x58\x24\x1c\x48\x47\x12\x16\x60\x6c\x76\x20\x00\x00\xa0\x91\x00\x0b\x30\x05\x00\x0a\x0e\xd8\x83\xf6\xdb\x6d\xb6\xdb\x62\x0e\xd8\x83\xb6\x80\x00\x80`].map(a=>'0'.repeat(8-(z=a.charCodeAt().toString(2)).length)+z).join``.replace(/.{1,3}/g,a=>`_|/\\() 
`[parseInt(a,2)]).slice(0,-2)

a.innerHTML=f()
<pre id=a>


2
Cái này hoạt động ra sao?
Oliver Ni

0

JavaScript, 294 292 byte

_='_&3,,& *.,,&_ 7+&+,,-(*.)&&& _,-+7+__1 . .-.3&_& ._&.-*+_-.-.+7|3_)+2_43 b|3 \\+14-*) 2_4/*)3)2_-)2*)_|7+&| 51111 6+-+.51*1_52/+& _ 7|0\\_|6+6/+62\\__44*.)_|6(*2\\*).)07,40&(./,&&&&0_|&6|&- .*_*___1 ++| |3-_4-|- 2/ 5( (6|_7\n';for(Y in $='7652-43+1*.&0,')with(_.split($[Y]))_=join(pop());_

Đây ... là nghĩa đen chỉ mã hóa của nghệ thuật ... với này ...

Nếu console.log()được yêu cầu, thì số byte là 307 305 byte.

294-> 292, -2B để mã hóa \nthành 7.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.