CJam, 96
Điều này sử dụng rất nhiều byte khó chịu, vì vậy đây là một kết xuất hex của nó:
00000000 22 ee 51 1e 53 41 15 ee 51 20 53 41 15 9a 5f 5a |".Q.SA..Q SA.._Z|
00000010 b9 5f 41 15 8c 5f 41 f9 38 24 2a 15 7e 55 1c 5f |._A.._A.8$*.~U._|
00000020 b9 30 5f b9 41 15 a8 26 2a 26 2a 15 36 45 91 c3 |.0_.A..&*&*.6E..|
00000030 ed cb 41 f3 df eb 41 db 20 cb c9 41 e9 df c9 c3 |..A...A. ..A....|
00000040 f3 7f 45 36 15 22 7b 69 32 6d 64 5c 5f 63 5c 37 |..E6."{i2md\_c\7|
00000050 6d 64 22 20 5f 6f 2d 7c 7e 2e 22 3d 2a 3f 7d 2f |md" _o-|~."=*?}/|
Bạn có thể chạy tệp với trình thông dịch java; có thể cần phải sử dụng mã hóa ISO-8859-1, chẳng hạn như:
java -Dfile.encoding=ISO-8859-1 …
Dùng thử trực tuyến
Phiên bản ASCII tương đương (và dài hơn nhiều):
[238 81 30 83 65 21 238 81 32 83 65 21 154 95 90 185 95 65 21 140 95 65 249 56 36 42 21 126 85 28 95 185 48 95 185 65 21 168 38 42 38 42 21 54 69 145 195 237 203 65 243 223 235 65 219 32 203 201 65 233 223 201 195 243 127 69 54 21]:c
{i2md\_c\7md" _o-|~."=*?}/
Dùng thử trực tuyến
Giải trình:
Có 7 ký tự có sự lặp lại : _o-|~.
. Mỗi trong số chúng có thể được mã hóa thành một số n từ 0 đến 6. Với mỗi chuỗi lặp lại, tôi mã hóa cả chỉ số của ký tự (n) và số lần lặp lại (k) trong một byte duy nhất: 2 * (k * 7 + n)
được viết dưới dạng một ký tự với điều đó mã. Và tôi đang mã hóa bất kỳ ký tự đơn nào 2 * c + 1
, trong đó c là mã ASCII. Mọi thứ diễn ra trong chuỗi ban đầu và phần còn lại của chương trình đang giải mã nó:
{…}/ for each character in the string
i convert to integer (extended-ASCII code)
2md integer division by 2, obtaining the quotient (q) and remainder (r)
r decides whether it's a repetition or single character
\_ swap q and r, and duplicate q
c\ convert q to character and move it before the other q
this is for the r=1 case (single character)
7md divide q by 7, obtaining the quotient (k) and remainder (n)
"…"= get the corresponding character from that string (decoding n)
* repeat the character k times
? use the single character or the repetition, depending on r
Phiên bản cũ (109):
" H(_2)
H(o2)
B/-6\/
A/ | 4|2 3
9* 2/\-3/\
C~2 3~2 3
.6"{_'M,48>&{~*}&}/3/"Have you mooed today?"`*N
Dùng thử trực tuyến