Quên vịt tức giận


56

Không ai chắc chắn những gì biểu tượng cảm xúc >:Udự định đại diện, nhưng nhiều học giả tin rằng nó trông giống như một con vịt tức giận . Hãy giả sử đó là trường hợp.

Bài tập, nhiệm vụ

Cho một số nguyên n từ 0 đến 3, bao gồm, in hoặc trả lại

quack

nếu n = 0,

>:U

nếu n = 1,

     U   U
>  : U   U
 >   U   U
>  : U   U
      UUU

nếu n = 2, hoặc

                  >:U         >:U
>:U               >:U         >:U
   >:U       >:U  >:U         >:U
      >:U         >:U         >:U
         >:U      >:U         >:U
      >:U         >:U         >:U
   >:U       >:U  >:U         >:U
>:U               >:U         >:U
                     >:U>:U>:U

nếu n = 3.

Bạn có thể cho rằng đầu vào sẽ luôn hợp lệ. Không nên có không gian hàng đầu trong đầu ra, nhưng bất kỳ lượng không gian dấu nào cũng được. Vịt (với ngoại lệ có thể là @cobaltduck) không có khả năng chịu đựng sơ hở. Mã ngắn nhất trong byte thắng.


90
Đầu tiên tôi đã nghĩ "huh, con vịt là gì?". May mắn thay, bạn đã cung cấp một liên kết đến trang wikipedia.
Ad Nam

6
"Vịt không có khả năng chịu đựng sơ hở." Nhưng bạn là một con chim không phải là một con vịt, điều đó có nghĩa là chúng ta có thể sử dụng sơ hở? : P
Hạ cấp

6
@Downgoat Không. Ngoài ra, chỉnh sửa đó là hoàn toàn không cần thiết nên tôi quay lại.
Alex A.

6
@Downgoat s /: P />: U /
Sản phẩm điện tử

7
"Vịt không có khả năng chịu đựng sơ hở." Đó, bạn của tôi, là một khuôn mẫu nguy hiểm. Nếu tôi không biết ý định của bạn, tôi có thể phạm tội.
cobaltduck

Câu trả lời:


19

CJam, 108 90 85 byte

"quack"">:U":D"scT¦{$ì"{269b22bSf*D}:F~[ZYB].*s.+s5/"ÿ3nÜïS{JÐø¦yûn"F*33/z]ri=zN*

Lưu ý rằng một số ký tự không thể in được. Hãy thử trực tuyến!

Lý lịch

Hai đầu ra đầu tiên là không thể nén được trong CJam.

Nén đầu ra cuối cùng là đơn giản. Sau khi tước tất cả các nguồn cấp dữ liệu, chúng ta có thể phân tách chuỗi kết quả tại các lần xuất hiện >:Uvà tính toán độ dài của mỗi chuỗi không gian kết quả.

Điều đó dẫn đến mảng

[18 9 0 15 9 3 7 2 9 6 9 9 9 6 9 6 9 9 3 7 2 9 0 15 9 21 0 0 0]

mà chúng ta có thể lưu trữ hiệu quả bằng cách chuyển đổi nó từ cơ sở 22 sang cơ sở 269, thu được các chữ số

[255 12 51 110 220 239 83 123 74 208 248 166 121 251 110 17]

Vì mỗi chữ số nhỏ hơn 256 , chúng ta có thể lưu trữ dưới dạng một byte đơn.

Cuối cùng, việc nén đầu ra thứ ba trở nên dễ dàng hơn nếu chúng ta hoán chuyển các dòng và cột:

 > > 
  >  

 : : 

UUUU 
    U
    U
    U
UUUU

Đếm một lần nữa khoảng trắng giữa các ký tự không phải khoảng trắng, chúng ta có được mảng

[1 1 3 8 1 6 0 0 0 5 4 4 0 0 0 0 0]

trở thành

[115 159 99 84 166 123 36 236 6]

khi chuyển mã từ cơ sở 22 sang cơ sở 269.

Làm thế nào nó hoạt động

"quack"   e# Push the first output.

">:U":D   e# Push the second output, and save it in D.

e# Push [115 159 99 84 166 123 36 236 6] as bytes.

"scT¦{$ì"

{         e# Define a code block:
  269b22b e#   Transcode from base 269 to base 22.
  Sf*     e#   Replace each digit with a string of that many spaces.
  D       e#   Push D.
}         e#
:F~       e# Save the block in F. Execute it.
[ZYB]     e# Push [3 2 11].
.*        e# Vectorized repeat; push [">>>" "::" "UUUUUUUUUUU"].
s         e# Flatten the array of strings.
.+        e# Append the nth character to the nth string of spaces.
s5/       e# Flatten and split into chunks of length 5.

e# Push [255 12 51 110 220 239 83 123 74 208 248 166 121 251 110 17] as bytes.

"ÿ3nÜïS{JÐø¦yûn"

F         e# Execute F.
*         e# Join the resulting array of strings of spaces, separating by ">:U".
33/       e# Split into chunks of length 33.
z         e# Zip; transpose rows with columns.

]         e# Wrap the entire stack in an array.
ri        e# Read a token from STDIN and interpret it as an integer.
=         e# Retrieve the element at the corresponding index.
z         e# Zip; transpose rows with columns or map "string" to ["string"].
N*        e# Join, separating by linefeeds.

2
Tôi thích phần phụ :Dgiữa hai chuỗi.
Zgarb

7
@Zgarb Ông đã xoa dịu con vịt lớn. Con vịt bây giờ mỉm cười.
Alex A.

7
Tôi đã trải qua những suy nghĩ trang, "172 ... 162 ... 182 ... tôi có thể đánh bại tất cả những Chờ, 90 Ồ, đó là Dennis the Unbeatable ....?"
ETHproductions

22

Java, 303 286 byte

Đã lưu 17 byte nhờ @VoteToC Đóng!

Không thực sự có nghĩa là ngắn nhất, tôi chỉ nghĩ sẽ rất vui nếu thử trong Java.

Tạo một danh sách các biến chuỗi đại diện cho các chuỗi phổ biến, sau đó tạo một mảng của tất cả các đầu ra, sau đó in đúng.

String a(int y){String n="\n",d=">:U",A=" ",B=A+A,C=B+B,D=C+C,a="U"+B+" U"+n,G=D+A,H=C+B,c=d+G+d+n,E=B+A,F=C+E;String[]z={"quack",d,C+A+a+">"+B+": "+a+" >"+E+a+">"+B+": "+a+C+B+"UUU",D+D+B+c+d+D+F+c+B+A+d+F+d+B+c+H+d+G+c+G+d+H+c+H+d+G+c+E+d+F+d+B+c+d+D+F+c+D+D+C+A+d+d+d};return z[y];}

Ung dung:

String a(int y) {
    String n = "\n", d = ">:U", A = " ", B = A + A, C = B + B, D = C + C,
            a = "U" + B + " U" + n, G = D + A, H = C + B, c = d + G + d + n,
            E = B + A, F = C + E;
    String[] z = { "quack", d, C + A + a + ">" + B + ": " + a + " >" + E + a + ">" + B + ": " + a + C + B + "UUU", D + D + B + c + d + D + F + c + B + A + d + F + d + B + c + H + d + G + c + G + d + H + c + H + d + G + c + E + d + F + d + B + c + d + D + F + c + D + D + C + A + d + d + d };
    return z[y];
}

Đây là câu trả lời đầu tiên của tôi trên trang web này, vì vậy xin vui lòng cho tôi biết nếu tôi đã làm điều gì sai.


2
Nó trông ổn đấy! Bài đăng đầu tiên rất hay và chào mừng bạn đến với PPCG!
Conor O'Brien

@AlexA. Cảm ơn đã cho tôi biết, tôi đã sửa nó.
FlyingPiMonster

2
@ kittycat3141 Trông thật tuyệt. Giải pháp tốt đẹp và cảm ơn vì đã tham gia thử thách của tôi! :)
Alex A.

Dường như D+AC+Bxuất hiện thường xuyên đủ để được đánh gôn thành 2 biến mới. Tôi cũng có cảm giác nhỏ nhất rằng sử dụng một mảng với vòng lặp for có thể giúp ích, nhưng tôi vẫn chưa tìm ra cách nào ...
Addison Crump

9

05AB1E , 162 159 157 byte

Chết tiệt, cách quá lâu, nhưng ít nhất đó là một cái gì đó:

">:U"VI3Qið16×7166b1ð:0Y:DUJ,Yð13×JD?X,3838b1ð:0Y:D?X,16255b1ð:0Y:D?X,16367b1ð:0Y:4F?X,}ð21×Y3×J,}¹2Qið4×" U   U"©J,">  :"®JD," >  "?®,,ð6×'U3×J,}¹iY,}"quack

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


Giải trình

Phần đầu tiên của mã tồn tại ">:U"V, thiết lập Ychuỗi đó. Sau đó, chúng tôi chỉ kiểm tra xem đầu vào có bằng 3. Điều đó được thực hiện ở I3Qiphần đó. Nếu bằng nhau, chúng tôi in con chim khổng lồ:

N = 3

Nó đầu tiên bắt đầu với ð16×chỉ đẩy 16 ký tự không gian. Sau đó, có một con số 7166b. Điều này bao gồm ">:U "một phần, với một chút trợ giúp từ Retina :). Tôi đã sử dụng tập lệnh này để chuyển đổi chuỗi thành số nhị phân. Sau đó, chúng tôi nhận được vào 1ð:0Y:một phần, thay thế tất cả 1với một nhân vật không gian và mỗi 0với Y, mà đã được thiết lập để >:U. Sau đó, chúng tôi tăng cường Dchuỗi này, lưu trữ nó Xbằng cách sử dụng UJoin ngăn xếp. Chúng tôi bật cái này bằng cách sử dụng ,chuỗi in đầy đủ với một dòng mới. Tất cả những người khác sau đó đều dựa trên cùng một hoàng tử. Câu lệnh if kết thúc ở giây }.

Việc chuyển đổi đầy đủ có thể được tìm thấy ở đây .

N = 2

Bây giờ chúng tôi kiểm tra xem đầu vào có bằng 2. Điều này được thực hiện ở ¹2Qiphần này. Sau đó, nếu bằng nhau, chúng ta đẩy nhân vật không gian 4 lần bằng cách sử dụng ð4×. Sau đó, chúng tôi đẩy " U U"chuỗi và lưu trữ bằng cách sử dụng ©(ý tưởng bị đánh cắp một cách trắng trợn từ Jelly: p). Chúng tôi một lần nữa Join ngăn xếp và in này với một dòng mới. Sau đó, chúng tôi đẩy "> :"chuỗi, lấy lại " U U"bằng cách sử dụng ®, Join ngăn xếp và tăng Dchuỗi này và in cả hai trên cùng một dòng.

Bài kiểm tra ngắn, điều này sẽ làm gì : " > "?®,?

Sau khi in chuỗi trên, chúng ta nhận được bản sao của dòng thứ hai của khuôn mặt và in chuỗi này (vì nó giống với dòng thứ 2).

Phần cuối cùng trong trường hợp này là:

ð6×'U3×J,

ð6×        # Push the space character × 6
   'U3×    # Push the "U" character three times
       J,  # Join and print pop with a newline

N = 1

Điều này dễ giải thích hơn:

¹1QiY

¹1Qi   # Check if the input is equal to 1
    Y  # Push the magpie face
       # This is then implicitly printed

N = 0

¹0Qi"quack

¹0Qi        # Check if the input is equal to 0
    "quack  # Weird sound what magpies make
            # Implicitly printed

Giải thích plz? : P
Addison Crump

@VoteToC Đóng Xong :)
Adnan

"đường quá dài"? Xem câu trả lời của tôi :-P
Luis Mendo

2
TIL rằng ma thuật lang băm. Rõ ràng.
Alex A.

8

Vitsy , 172 171 159 byte

Ôi trời Nếu tôi muốn một cái gì đó thể hiện sức mạnh của các phương pháp, tôi đã nhận được nó.

' 'V1+m
'kcauq'Z
'U:>'Z
58m5m6m'   > 'Z5m6m'UUU'68m
f3+bm9mamcm98m2m6bmcmam9mf6+8m3\[2m]
a'U   U'Z
' :  >'Z5m
Z2m98ma2m
\VZ
2mfbm
VVVZ2m78m2mVV7m
8m7m
68m2m9bm

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

Làm thế nào điều này hoạt động là bằng cách gọi các phương pháp khác nhau trong chính nó. Giải thích dưới đây:

' 'V1+m
' 'V      Save character literal ' ' as a permanent variable.
    1+    Add one to the top item of the stack (input + 1)
      m   Go to that index of code.

'kcauq'Z
'kcauq'   Push 'quack' to the stack.
       Z  Output everything in the stack as a char.

'U:>'Z
'U:>'Z    Ouput ">:U" with the same method as the previous line.

Now on to some more... interesting lines.

58m5m6m'   > 'Z5m6m'UUU'68m
5              Push space, push 4
 8m            Call the 8th line index.
               As we will soon see, the 8th line index duplicates the space
               the number of times specified by the number just before the call 
               (4 in this case)
   5m          Call the 5th line index.
               The 5th line index outputs the 'U   U' and a newline.
     6m        Call the 6th line index.
               The 6th line index outputs '>  : U   U' and a newline.
'   > 'Z       Output ' >   '.
        5m6m   Same method calls as before.
'UUU'          Push 'UUU'.
     68m       Push 6, then call the 8th line index. This gives us the correct padding.

f3+bm9mamcm98m2m6bmcmam9mf6+8m3\[2m]
f3+              Push 18.
   bm            Call the 11th line index.
                 The 11th line index calls the 8th line index (which we've already seen
                 in action) and then the 7th line index, which you can find and explanation
                 for below (it does a lot)
     9m          Call the 9th line index.
                 The 9th line index outputs '>:U               >:U         >:U' (explanation lower)
       am        Call the 10th line index.
                 ...I'm gonna stop explaining these and just tell you to go to the lines now. :P
         cm      Call the 12th line index.
9                Push space, push 9.
 8m              Call the 8th line index (explained below and before).
   2m            Call the 2nd line index.
     6           Push 6.
      bm         Call the 11th line index. We've finished up to '>:U      >:U         >:U' now.
cm               You guessed it! Call the 12th line index. (explanation below)
  am             Call the 10th line index. (explanation below)
    9m           Call the 9th line index. (explanation below)
f6+              Push space, push 19 21.
   8m            Call the 8th line index. (explanation below)
     3\[2m]      Call the 2nd line index thrice.

All of the rest of these methods are supporting methods now.

a'U   U'Z       Output 'U   U' followed by a newline.

' :  >'Z5m      Output '>  : U   U' followed by a newline.

Z2m98ma2m
Z               Output everything currently in the stack.
 2m             Call the 2nd line index.
   9            Push space, push 8.
    8m          Call the 8th line index. (explained below)
      a         Push a newline to the stack.
       2m       Call the 2nd line index.
                This handles the biggest angry duck face's faces showing the eyebrows and eyes.

\VZ
\V    Push space as many times as the top item specifies.
  Z   Output everything in the stack.

2mfbm
2m      Call the 2nd line index.
  f     Push space, push 14.
   bm   Go to the 11th line index.
        This handles the mouth and some parts of the eyebrows of the biggest duck face.

VVVZ2m78m2mVV7m
VVVZ              Output 3 spaces (and whatever was pushed before it)
    2m            Call the 2nd line index.
      7           Push space, push 6.
       8m         Call the 8th line index. (explained... above)
         2m       Call the 2nd line index.
           VV     Push 2 spaces.
             7m   Call the 7th line index.

8m7m     This is pretty damn self-explanatory if you've read this far.

68m2m9bm
6            Push space, push 5.
 8m          Call the 8th line index.
   2m        Call the 2nd line index.
     9       Push space, push 9.
      bm     Call the 11th line index.

Mã này là vô lý. Hình thức dài dòng của nó là:

toggle single quote;
 ;
toggle single quote;
save top as permanent variable;
push 1;
add top two;
goto top method;
:toggle single quote;
k;
push 12;
push 10;
flatten top two stacks;
q;
toggle single quote;
output stack as chars;
:toggle single quote;
U;
clone current stack;
go forward;
toggle single quote;
output stack as chars;
:push 5;
push 8;
goto top method;
push 5;
goto top method;
push 6;
goto top method;
toggle single quote;
 ;
 ;
 ;
go forward;
 ;
toggle single quote;
output stack as chars;
push 5;
goto top method;
push 6;
goto top method;
toggle single quote;
U;
U;
U;
toggle single quote;
push 6;
push 8;
goto top method;
:push 15;
push 3;
add top two;
push 11;
goto top method;
push 9;
goto top method;
push 10;
goto top method;
push 12;
goto top method;
push 9;
push 8;
goto top method;
push 2;
goto top method;
push 6;
push 11;
goto top method;
push 12;
goto top method;
push 10;
goto top method;
push 9;
goto top method;
push 15;
push 6;
add top two;
push 8;
goto top method;
push 3;
repeat next instruction set top times;
begin recursive area;
push 2;
goto top method;
end recursive area;
:push 10;
toggle single quote;
U;
 ;
 ;
 ;
U;
toggle single quote;
output stack as chars;
:toggle single quote;
 ;
clone current stack;
 ;
 ;
go forward;
toggle single quote;
output stack as chars;
push 5;
goto top method;
:output stack as chars;
push 2;
goto top method;
push 9;
push 8;
goto top method;
push 10;
push 2;
goto top method;
:repeat next instruction set top times;
save top as permanent variable;
output stack as chars;
:push 2;
goto top method;
push 15;
push 11;
goto top method;
:save top as permanent variable;
save top as permanent variable;
save top as permanent variable;
output stack as chars;
push 2;
goto top method;
push 7;
push 8;
goto top method;
push 2;
goto top method;
save top as permanent variable;
save top as permanent variable;
push 7;
goto top method;
:push 8;
goto top method;
push 7;
goto top method;
:push 6;
push 8;
goto top method;
push 2;
goto top method;
push 9;
push 11;
goto top method;

7

JavaScript (ES6), 163 byte

var solution =

n=>["quack",d=">:U",`5U3U
>2:1U3U
1>3U3U
>2:1U3U
6UUU`,`99090
096090
30702090
609090
906090
609090
30702090
096090
993000`][n].replace(/\d/g,c=>+c?" ".repeat(c):d)
<input type="number" oninput="R.textContent=solution(+this.value)"><pre id="R"></pre>

Giải trình

Sử dụng tính năng nén chuyển tiếp của tôi với JavaScript: mã hóa độ dài chạy. Các chữ số 1để 9ánh xạ tới nhiều khoảng trống, 0ánh xạ tới mặt con vịt tức giận và bất kỳ nhân vật nào khác vẫn giữ nguyên.


1
Rất ấn tượng đối với một ngôn ngữ không chơi gôn, nhưng các hàng ngay bên trên và bên dưới trung tâm cho n = 3 dường như bị thiếu.
Sản phẩm ETH

@ETHproductions Rất tiếc, không chắc chuyện gì đã xảy ra ở đó. Đã sửa bây giờ.
dùng81655

7

Japt, 116 105 102 99 96 byte

["quack""c)`+«öÂ[@=^Gñ`1]o2"mc r'4#¿+R "4z>2:z >2z>2:z6UUU"rz" U3U
" '1]®r'1">:U" r"%d"_SpZ}ÃgU

Chứa một không thể in. Kiểm tra nó trực tuyến!

Làm thế nào nó hoạt động

Hai chuỗi đầu tiên không được nén chút nào. Thứ ba được nén đơn giản bằng cách thay thế mỗi lần chạy không gian bằng chiều dài của nó, sau đó " U3U"bằng "z". Cái cuối cùng phức tạp hơn:

  1. Thay thế mỗi lần chạy 2-9 khoảng trống bằng chiều dài của nó.
  2. Thay thế >:Ubằng 1.
  3. Thay thế 191\nbằng 4. ( 4không được sử dụng ở bất kỳ nơi nào khác trong chuỗi.)
  4. Ánh xạ từng mã byte hợp lệ ( 10- 255, hoặc 0A- FF) vào ký tự có mã char đó.

Chuỗi kết quả chỉ dài 21 19 byte, nhưng quá trình giải nén chiếm thêm 31 29.

Sau khi giải nén các chuỗi, chúng ta chỉ cần lấy mục ở vị trí U, đầu vào. (Mảng được sắp xếp [0,3,2,1]vì có một lỗi khiến nó được tính từ cuối mảng thay vì bắt đầu.)

[                      // Create an array of the following:
  "quack"              //  "quack".

  "c)`+«öÂ[@=^Gñ`1]o2" //  Take this string (contains an unprintable).
                       //  Map each char to its char code.
                       //  This produces "994196431712461949164619431712419649931112".
  r'4#¿+R              //  Replace each "4" with the char code of "¿" (191) + a newline.

  "4z>2:z >2z>2:z6UUU" //  Take this string.
  rz" U3U\n"           //  Replace each "z" with " U3U\n".

  '1                   //  "1".
]
®              Ã       // Map each item by this function:
r'1">:U"               //  Replace each "1" with ">:U".
r"%d"_SpZ}             //  Replace each remaining digit Z with Z spaces.

gU                     // Get the item at index -U, wrapping. 
                       // (This should just be U, but there's a bug which negates it.)

5

MATL , 283 182 byte

101 byte được lưu nhờ vào @Adnan!

Điều này sử dụng số thập phân để mã hóa các chỉ số 0... 3cho bốn ký tự cho trường hợp 2 và 3. Các số thập phân có lẽ có thể được nén bằng mã hóa cơ sở 64, nhưng bỏ qua!

Đối với trường hợp 3, một mẹo rất hay được đề xuất bởi @Adnan được sử dụng: xác định các chuỗi nhị phân để mã hóa từng hàng, ở đâu 01tương ứng với không gian và >:Utương ứng.

~?'quack'}G1=?'>:U'}G2=?' :>U'12336 8466480h2109488h8466480h4032h4YA47-)}268697600 67174401h16795656h67174464h67174912h67174464h16795656h67174401h14680064h"@BP48+]Xh49'>:U'YX48 32YXc

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


3
Làm thế nào về trường hợp cuối cùng, bằng cách sử dụng này , thay thế 1bằng khoảng trắng và 0bằng >:Uchuỗi. Tôi không biết nếu điều đó sẽ giúp.
Ad Nam

@Ad Nam Đó là một ý tưởng tốt!
Luis Mendo

5
@Adnan 101 byte đã lưu: -O
Luis Mendo

Thật là tuyệt vời! Câu trả lời rất hay! :)
Adnan

5

Quế Gum, 76 byte

0000000: 6c33 502b 2c4d 4cce b636 54b3 b30a b536  l3P+,ML..6T....6
0000010: 5253 0081 5010 e6b2 5350 b082 3215 ecb0  RS..P...SP..2...
0000020: 8a42 1487 865a 1bab 2960 00a0 79c8 6c2e  .B...Z..)`..y.l.
0000030: 2026 a002 4221 0430 55c0 5938 cd40 9720   &..B!.0U.Y8.@. 
0000040: 6c06 6177 90e9 17ac 4102 4100            l.aw....A.A.

Không cạnh tranh kể từ khi Cinnamon Gum được tạo ra sau thử thách này.

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

Giải trình

Byte đầu tiên lchỉ định chế độ: trong trường hợp này, nó báo cho Cinnamon Gum vào chế độ bảng tra cứu. Cinnamon Gum sau đó giải nén phần còn lại của chuỗi (đã được nén zopfli --deflate) vào đây:

0&quack;1&>:U;2&     U   U
>  : U   U
 >   U   U
>  : U   U
      UUU;3&                  >:U         >:U
>:U               >:U         >:U
   >:U       >:U  >:U         >:U
      >:U         >:U         >:U
         >:U      >:U         >:U
      >:U         >:U         >:U
   >:U       >:U  >:U         >:U
>:U               >:U         >:U
                     >:U>:U>:U

Sau đó, nó phân tách theo ;, đặt từng cặp khóa-giá trị (với &dấu phân cách) trong từ điển và đầu ra dictionary[input].


5

JavaScript ES6, 232 223 203 188 byte

Đã lưu 29 44 byte nhờ vào ETHproductions!

n=>[`quack`,r=`>:U`,`     U   U
>  : U   U
 >   U   U
>  : U   U
      UUU`,`00022
10022
0100 1  12
00122
20012
00122
0100 1  12
10022
0000211`.replace(/\d/g,N=>[g=`   `,r,g+g+g+r][N])][n]

Kiểm tra nó ra!


chắc chắn nó có thể bị mất ... nếu không, liệu 10có thể được tạo thành một số thứ ba không?
Hạ cấp

1
@Downgoat btoaing và trinary cả hai đều dài hơn.
Conor O'Brien

Cũ câu trả lời, nhưng bạn có thể tiết kiệm như 15 byte bằng cách thay đổi r+g+g+g+rđể g+g+g+rđiều chỉnh chuỗi phù hợp.
Sản phẩm ETH

0

GML, 265 byte

Một câu trả lời tuyệt vời của @ kittycat3141, với gợi ý đánh gôn thêm với hai biến mới (mà tôi đặt tên là G và H) bởi @VoteToClose. Tôi cũng đã cố gắng rút ngắn nó hơn nữa với cú pháp tương đối lỏng lẻo của GML.

d=">:U"A=" "B=A+A;C=B+B;D=C+C;G=D+A;H=C+B;a="U"+B+" U"+"#"c=d+G+d+"#"E=B+A;F=C+E;x[0]="quack"x[1]=d;x[2]=C+A+a+">"+B+": "+a+" >"+E+a+">"+B+": "+a+H+"UUU"x[3]=D+D+B+c+d+D+F+c+B+A+d+F+d+B+c+H+d+G+c+G+d+H+c+H+d+G+c+E+d+F+d+B+c+d+D+F+c+D+D+C+A+d+d+d;return x[argument0]
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.