Xuất ra PPCG Prime


69

Đây là Thủ tướng PPCG

Dài 624 chữ số

777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777111111111111111111111111111111111111111111111111111111111111111111111111111111188888888118888888811188888811188888811188111118818811111881881111881881111881188111118818811111881881111111881111111188888888118888888811881111111881118888188111111118811111111881111111881111881188111111118811111111881111881881111881188111111118811111111188888811188888811111111111111111111111111111111111111111111111111111111111111111111111111111111333333333333333333333333333333333333333



Nếu chúng ta chia mỗi 39 chữ số, chúng ta sẽ nhận được

777777777777777777777777777777777777777
777777777777777777777777777777777777777
777777777777777777777777777777777777777
777777777777777777777777777777777777777
111111111111111111111111111111111111111
111111111111111111111111111111111111111
188888888118888888811188888811188888811
188111118818811111881881111881881111881
188111118818811111881881111111881111111
188888888118888888811881111111881118888
188111111118811111111881111111881111881
188111111118811111111881111881881111881
188111111118811111111188888811188888811
111111111111111111111111111111111111111
111111111111111111111111111111111111111
333333333333333333333333333333333333333

Nhiệm vụ của bạn là xuất ra PPCG-Prime

Đây là .Shortest code theo byte thắng.

Nếu bạn nhập PPCG-Prime trong hàm Mathicala bên dưới, bạn sẽ nhận được kết quả này

ArrayPlot@Partition[IntegerDigits@#,39]&   

nhập mô tả hình ảnh ở đây


37
Làm thế nào trên trái đất bạn đã tìm thấy điều này?
Stewie Griffin

5
@StewieGriffin Xác suất trung bình cho một số nnguyên tố là tỷ lệ thuận 1/log(n), dù sao thì nó không phải là rất nhỏ. Chỉ cần kiểm tra rất nhiều số cho đến khi nó là số nguyên tố.
dùng202729

2
Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
Dennis

1
@ user202729 log(n)là về 1436.6trường hợp này.
Jeppe Stig Nielsen

3
@Fabian Tôi không nghĩ phương pháp này sẽ hiệu quả ... Đối với một Prime lớn này (624 chữ số), số bạn đang hỏi có 621 chữ số (và thậm chí còn khó chơi golf hơn), trừ khi đây là 10 ^ 621 nguyên tố!!! Nếu bạn muốn tìm số của mình, đây là một xấp xỉ đơn giản x/logxcủa Gauss

Câu trả lời:


22

Thạch , 55 54 52 47 46 byte

“=÷¡v⁺ʋiṂYR¤"bİɲ}Ñ1Ṇ⁴ẠV⁹yȥGẇ’“¿mŻ“p’Dx39jBo88V

Có nhiều cách tiếp cận phức tạp hơn trong lịch sử sửa đổi, nhưng cách đơn giản này đánh bại tất cả.

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

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

“=÷¡v⁺ʋiṂYR¤"bİɲ}Ñ1Ṇ⁴ẠV⁹yȥGẇ’

Đây là một chữ số, được mã hóa trong cơ sở phỏng đoán 250, trong đó các chữ số được lấy từ trang mã của Jelly. Đối số của chuỗi (trái) và giá trị trả về được đặt thành số nguyên được mã hóa,
n: = 0x21871c77d7d7af6fafafeff0c37f72ff7fbfbdbfdfef5edfeff8e3 .

“¿mŻ“p’

Một nghĩa đen tương tự như trên, nhưng thứ hai tách hai số nguyên được mã hóa. Giá trị trả về được thay thế bằng mảng được mã hóa, [777711, 113] .

Dx39

Dchuyển đổi giá trị trả về thành số thập phân ( [[7, 7, 7, 7, 1, 1], [1, 1, 3]] ), sau đó x39lặp lại mỗi số nguyên / chữ số riêng lẻ trong kết quả 39 lần. Điều này mang lại một cặp mảng, chứa các chữ số trước và sau văn bản cao 7 ký tự, tương ứng. Hãy gọi mảng này Một .

jB

Đầu tiên, Bchuyển đổi đối số (trái) n thành nhị phân. Điều này mang lại các chữ số tạo thành văn bản cao 7 ký tự, trong đó mỗi 88 được thay thế bằng 0 .

Sau đó, jnối mảng A , sử dụng mảng nhị phân làm dấu phân cách.

o88

Điều này thực hiện logic HOẶC với 88 , thay thế mỗi 0 bằng 88 .

V

Bây giờ chúng ta có các chữ số chính xác, nhưng trong một mảng gồm 7 , 1 , 883 . Vngầm biến mảng này thành một chuỗi và sau đó đánh bại nó, thu được một số nguyên duy nhất.


6

Bong bóng , 51 byte

00000000: 331f c4c0 90ba c002 0a90 5986 d818 50d5  3.........Y...P.
00000010: 282c 3406 6e65 5036 1e4b 9195 8109 649d  (,4.neP6.K....d.
00000020: 5858 1896 4279 68b2 f895 61fa 94ca c098  XX..Byh...a.....
00000030: 3800 00                                  8..

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


6

SOGL V0.12 , 52 51 byte

≡=vā⁷H↕↕jΥ_Ν↑∆∫▲pΖo	‘θδžΟwd╬2n?q[‘²Κ7n⌡"α¼■╤ģ⅞¹‘¹H∑

quan hệ bong bóng!
lưu ý rằng câu trả lời này có chứa một tab

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

Cố gắng lưu byte bằng cách sử dụng lại cùng một chuỗi cho cả hai P.

Giải trình:

...‘...‘²Κ7n⌡"..‘¹H∑  compressed strings replaced with ellipses to shorten the width
...‘                  pushes "1111111188888188888888111118811111881111188111118881118818111811111111188888188888888111118811111881111188118118888818818881811118111" - CG
    ...‘              pushes "1111111888888888888881118118111811811181181118118111811811188881111881" - P
        ²             join with itself - double the P
         Κ            reverse add - prepend the PP to CG
          7n          split to line lengths of 7
            ⌡         for each
             "..‘       push "311ŗ117777" with ŗ replaced with the ToS - current item looping over
                 ¹    wrap the results tn an array
                  H   rotate it counter-clockwise
                   ∑  join to a single string

Các số ở đó được lưu như từ ban đầu bắt đầu ở phía dưới bên trái, đi lên, sau đó 1 phải & xuống, sau đó lên, ect.

Phiên bản nén đơn giản 52 byte:

#⅓→9E■Ν►1&⅝θ⅞%øøμ←N═]y)u⅝↓$A○░(ZF16Φ⅓Mč▓d⅛Hι‼∑υnη▲Z‘

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


Tôi không chắc những gì bạn đã đăng có đúng mã không ...
Erik the Outgolfer

1
Làm thế nào để ...‘có được những con số đó?
Pureferret

1
@Pureferret Nén chuỗi.
hoàn toàn là

@totallyhuman vậy làm thế nào để nó 'mã hóa' / nén các chuỗi vào ...‘?
Pureferret

@dzaima Tôi không nghĩ rằng điều đó thực sự giúp tôi hiểu, thật không may. Nhập phần đầu tiên mã hóa CGvào công cụ đó sẽ không cung cấp ...‘bất cứ nơi nào trong công cụ đó.
Pureferret

4

Toán học, 107 byte

Uncompress@"1:eJxTTMoP8ixgYmAwH8TAkLrAAgqQWYbYGFDVGCxkBh5lCDNwWIqqDCyGrAGDhWEpFmXY3IaiDItPqQqMiQMA+yaAoA=="


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


Sửa lỗi cho tôi nếu tôi sai, nhưng đó có phải là giải pháp chỉ REPL không? Đó dường như không phải là một chức năng (mà tôi đoán bạn có thể sửa chữa bằng một cái duy nhất &ở cuối).
numbermaniac

đây không phải là một chức năng mã này chỉ xuất ra số nguyên tố PPCG, giống như OP đã hỏi
J42161217

4

CJam, ASCII, 61

Hs78f*~_@"'hfv;HH`>O4RU(_o^.U)9q&-1iadr`4tk"90b2b88fe|1$'339*

Dùng thử trực tuyến

Nối ]s39/N*cho gói đẹp.

Giải trình:

Hs         generate "17" (H=17)
78f*       repeat each character 78 times, getting an array of 2 strings
~_         dump the 2 strings on the stack, and duplicate the '7's
@          move the '1's to the top of the stack (first 6 lines done so far)
"…"90b     convert that string from base 90 (treating characters as numbers)
2b         convert the resulting number to base 2,
            obtaining a bit map for the "PPCG" part, with 1 for "1" and 0 for "88"
88fe|      replace (boolean OR) all the zeros with 88
1$         copy the string of 78 '1's
'339*      repeat '3' 39 times

4

C, 519 427 414 396 377 byte

Cảm ơn TAS, Felix Palmen và Lynn.

#define p(n,l)for(i=40*l;i;)putchar(--i%40?n+48:10);
f(i){p(7,4)p(1,2)puts("188888888118888888811188888811188888811\n188111118818811111881881111881881111881\n188111118818811111881881111111881111111\n188888888118888888811881111111881118888\n188111111118811111111881111111881111881\n188111111118811111111881111881881111881\n188111111118811111111188888811188888811");p(1,2)p(3,1)}

Đối với sở thích của bạn, đây là phiên bản dài hơn, dễ đọc hơn:

#define p(n,l) for(i=40*l;i;) putchar(--i%40?n+48:10);
f(i) {
    p(7,4)
    p(1,2)
    puts("188888888118888888811188888811188888811\n\
       188111118818811111881881111881881111881\n\
       188111118818811111881881111111881111111\n\
       188888888118888888811881111111881118888\n\
       188111111118811111111881111111881111881\n\
       188111111118811111111881111881881111881\n\
       188111111118811111111188888811188888811");
    p(1,2)
    p(3,1)
}

1
Bạn có thể nhận được mức thấp hơn nhiều (~ 450ish) chỉ bằng cách in số 1 và 8 như hiện tại và có một định nghĩa cho 7, 3 và 1
TAS

@Keyu Gan: Tôi đang biên dịch với phiên bản hiện tại của GCC (7.2.0-debian11), cho phép điều này trong một vài năm. Tôi không chắc chắn nếu cú ​​pháp có thể thuộc một trong các tiêu chuẩn C mới hơn.
xanoetux

2
@Keyu Gan: Nó được cho phép trong C99 và C11.
xanoetux


Phiên bản này rất phức tạp. Ít nhất tôi hiểu nó; cảm ơn.
xanoetux

4

Java (OpenJDK 8) , 165 byte

n->{for(int i=0;++i<566;)System.out.print(i<157?7:i>526?3:i<236|i>446||new java.math.BigInteger("vnku5g6l0zenpa1kydel5rxw162k4fk4xapa154o",36).testBit(446-i)?1:88);}

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

Tín dụng

  • -10 byte nhờ aditsu!

165:n->{for(int i=0;++i<566;)System.out.print(i<157?7:i>526?3:i<236|i>446||new java.math.BigInteger("vnku5g6l0zenpa1kydel5rxw162k4fk4xapa154o",36).testBit(446-i)?1:88);}
aditsu

Bắt đẹp, nhân đôi 88, cảm ơn!
Olivier Grégoire


2

Mẻ, 364 335 333 byte

@set a=888888&set b=1111111111111&set e=1881111&set d=1%e%&set f=333333333&for /L %%x in (1,1,156) do @cd|set/p=7
@echo %b%%b%%b%%b%%b%%b%1%a%8811%a%88111%a%111%a%1%d%188%e%188%e%88%e%88%d%188%e%188%e%1%d%1111%a%8811%a%88%d%111881118888%e%11%d%11%d%1%d%88%d%11%d%11%d%88%e%88%d%11%d%11111%a%111%a%%b%%b%%b%%b%%b%%b%11%f%%f%%f%%f%333

1
Lưu hai byte bằng cách thay đổi echo|thànhcd|
stevefestl

Cảm ơn, tôi biết có một cái gì đó ngắn hơn, nhưng không thể nhớ
schnaader

Ngoài ra, (1,1,156) docó thể rút ngắn thành(1,1,156)do
stevefestl

2

Javascript (ES6), 187 181 byte

-6 byte nhờ @JustinMariner

r=s=>s[0].repeat(39),a=r`7`,b=r`1`,i="8888881",c=188+i,d=11+i,j="188111",e=j+1188,f=j+188,g=j+111,h=g+1,k=r`3`
z=>"aaaabbccdd1eeff1eeghccgj8888hhgf1hhff1hhdd1bbk".replace(/./g,eval)

Cách tiếp cận siêu đơn giản; nó có thể được đánh gôn nhiều hơn

Giải trình

r=s=>s[0].repeat(39),                               // helper function to repeat character
a=r`7`,b=r`1`,i="8888881",c=188+i,d=11+i,j="188111",// Set the variables (a-k) to different
e=j+1188,f=j+188,g=j+111,h=g+1,k=r`3`               // parts of the prime       

_=>"aaaabbccdd1eeff1eeghccgj8888hhgf1hhff1hhdd1bbk" // Replace all letters in the string
    .replace(/./g,eval)                             // with the value of the variable

Đoạn mã ví dụ (với một số mã trợ giúp để thêm ngắt dòng trong đầu ra)


Bạn có thể tiết kiệm một số byte nếu bạn định nghĩa một hàm helper rnhư r=s=>s[0].repeat(39)và sau đó thay thế a, bkvới r`7` , vv Hãy thử nó trên mạng! .
Justin Mariner

2

C (gcc) , 269 267 byte

chức năng, sử dụng RLE đơn giản.

x[]={39,79,80,156};k;f(i){for(char*c="d7b1882188316831683128512811285128112841281128412821285128112851281128712881882188212871283148112881288128712841282128812881284128112841282128812891683168c1a3";i=*c++;++c)for(i=i<97?i-48:x[i-97];i--;++k%39||puts(""))putchar(*c);}

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


Đề xuất L"'OP\x9c"thay vìx
trần mèo

2

C (gcc) , 224 byte

f(i,j,c){for(i=0;c="wwdfFdfFDfFDfFDFDDFFDDFFDddDDFdDDddDDddDDDdDDDDffDffDFDDDFDfdDDDDFDDDdDDDdDDFdDDDDFDDDdDDFFDdDFDDDdDDDDdfDdfD"[i/2]>>i++%2*4&15;c-6?putchar(c-4?c+48:49):printf("88"))for(j=0;j++<c%2*38;)putchar(c+48);}

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

Chứa một số không thể in, chuỗi chữ là "ww\x11dfFdfFDfFDfFDFDDFFDDFFDddDDFdDDddDDddDDDdDDDDffDffDFDDDFDfdDDDDFDDDdDDDdDDFdDDDDFDDDdDDFFDdDFDDDdDDDDdfDdfD\x11\x03".


1

Thạch , 86 byte

Lẋ@1,8żḣLẋ/€F
7ẋ156;1ẋ78¤©;“½Ẹ^o“2FẒ⁶ġbȥ“¡E⁷£cṿ“t¡ɗḋ“£F¢Xȥ“¡McṾbȥ“¬3Ṭo’DÇ€F¤;®;3rẋ39¤Ḍ

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

-12 byte nhờ người dùng202729


88 byte: TIO ( có thể separates a list of strings inside a string literal)
user202729

Mấy giờ rồi ở nước bạn? Tại sao bạn thức dậy ngay bây giờ?
dùng202729

@ user202729 À đúng rồi, cảm ơn. Và tôi ở UTC-4, tôi đã làm một điều ngu ngốc và phải thức khuya dậy sớm nên tôi cảm thấy muốn thực hiện một thử thách trước khi đi ngủ vì điều này đã được mở lại. Tôi có thể giải thích trong trò chuyện nếu bạn thích: P
HyperNeutrino


1

Thạch , 85 byte

”7ẋ“ɓ’80“¡Ȯ⁶LÑɓĠ⁶-€Øġ°$¤ṛọḳƓƒṭ⁽@^ḥ⁷Ofạ<e½Ṇż;,RṘ¶ṀḊ+`⁸ⱮḃĿþṛ9.wƑ¡kḟUẎgLLµ’ḃĖŒṙị⁾1839”3ẋ

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

Dựa trên cách tiếp cận của Dennis đối với thử thách Trinity Hall, trừ đi tính đối xứng, cộng với 7s và trailing hàng đầu 3.


3
Dennis tiếp cận thử thách này một cách khác biệt bởi vì nó là một thử thách khác. Tôi nghĩ rằng bạn đã vượt qua!

@JoseZaman Anh làm Jelly BTW.
Erik the Outgolfer

1

PowerShell , 164 byte

$a='136361616151315131531532513151315215436365213213315454521532545453153254541616';6..2|%{$a=$a-replace$_,(11,88,22,34,3332)[$_-2]};'7'*156+'1'*78+$a+'1'*78+'3'*39

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

Chuỗi nhân, nối và thay thế. PowerShell không có cơ sở 36 hoặc tương tự, vì vậy các tùy chọn nén số lượng lớn bị hạn chế. Có thể có một cách tốt hơn để "nén" phần giữa - tôi vẫn đang kiểm tra phần đó.


1

Ngôn ngữ Wolfram (Mathicala) , 89 (17 + 71 + 1) byte

Đầu tiên bạn xuất số sang tệp GZIP. Tệp này, được đặt tên là "o" không có phần mở rộng sẽ chính xác là 71 byte, được tính vào tổng số. Theo mặc định, nó sẽ đi đến của bạn $TemporaryDirectory. Bỏ chữ số để dễ đọc.

Export["o",777777...,"GZIP"]

Sau đó

"o"~Import~"GZIP"

sẽ xây dựng lại số lượng. Tên tệp là một byte vì vậy đó là nơi +1 xuất phát.

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


1

Ruby, 109 byte

Kịch bản gọi Zlib.inflateđể giải nén số. Nó cần ít nhất Ruby 1.9.3. Nó chứa các byte không thể in được, vì vậy tôi không thể dán nó ở đây.

Tôi dán đầu ra của vis prime-inflate.rb:

require'zlib'
puts Zlib.inflate DATA.read
__END__
x\M-Z37\^_\M-<\M-@\M^P\M-:\M-@\^B
\M^PY\M^F\M-X\^XP\M-U\^X,d\^F\^^e\^H3pX\M^J\M-*\^L,\M^F\M-,\^A\M^C\M^Ea)\^Ve\M-X\M-\\M^F\M-"\^L\M^KO\M-)
\M^L\M^I\^C\^@\^P\M-p~\M-!

Nếu bạn có unvis (1), hãy chạy unvis prime-inflate.vis > prime-inflate.rbđể khôi phục tập lệnh 109 byte. Hoặc bạn có thể giải mã Base64, bên dưới, với ruby -e 'print *STDIN.read.unpack(?m)' < prime-inflate.b64 > prime-inflate.rb.

cmVxdWlyZSd6bGliJwpwdXRzIFpsaWIuaW5mbGF0ZSBEQVRBLnJlYWQKX19F
TkRfXwp42jM3H7zAkLrAAgqQWYbYGFDVGCxkBh5lCDNwWIqqDCyGrAGDhWEp
FmXY3IaiDItPqQqMiQMAEPB+oQ==

Tôi gọi Zlib.inflatevì vậy tôi không cần thiết kế và đánh gôn thuật toán giải nén của riêng mình. Tôi sử dụng DATAvới __END__vì chuỗi nén không hợp lệ UTF-8. Mã Ruby phải là ASCII hợp lệ (trong Ruby 1.9.x) hoặc UTF-8 (từ Ruby 2.0) hoặc có nhận xét ma thuật #coding:binaryđể thay đổi mã hóa, nhưng Ruby không kiểm tra mã hóa sau __END__.



1

Mã máy 6502 (C64), 142 122 byte

00 C0 A9 27 85 FB A2 00 86 FC A2 04 CA 10 01 60 BC 70 C0 BD 74 C0 20 D2 FF C6
FB D0 0B 48 A9 27 85 FB A9 0D 20 D2 FF 68 88 D0 EB E0 02 D0 DD 48 A5 FC 4A A8
B9 4A C0 90 04 4A 4A 4A 4A 29 0F F0 08 E6 FC A8 68 49 09 D0 CD 68 D0 C0 28 38
36 36 52 12 52 12 42 12 42 22 52 12 52 12 72 82 28 28 72 32 14 82 82 72 42 22
82 82 42 12 42 22 82 92 36 06 27 50 4F 9C 33 31 31 37

Bản demo trực tuyến

Sử dụng: sys49152

  • -20 byte với việc thực hiện tốt hơn cùng một bảng phương thức và dữ liệu cho các khối lớn.

Giải trình

Điều này cũng sử dụng độ dài của 18trình tự ở phần giữa; vì tất cả chúng đều ngắn hơn 16, hai trong số chúng được mã hóa trên mỗi byte.

Danh sách tháo gỡ bình luận:

         00 C0        .WORD $C000       ; load address
.C:c000  A9 27        LDA #$27          ; counter for newlines (39)
.C:c002  85 FB        STA $FB
.C:c004  A2 00        LDX #$00          ; index for run-length data
.C:c006  86 FC        STX $FC
.C:c008  A2 04        LDX #$04          ; index for "blocks" (counting down)
.C:c00a   .blockloop:
.C:c00a  CA           DEX
.C:c00b  10 01        BPL .continue     ; block index underflow -> done
.C:c00d  60           RTS
.C:c00e   .continue:
.C:c00e  BC 70 C0     LDY .lseqlens,X   ; load length of next block to Y
.C:c011  BD 74 C0     LDA .chars,X      ; load character of next block to A
.C:c014   .outloop:
.C:c014  20 D2 FF     JSR $FFD2         ; output character
.C:c017  C6 FB        DEC $FB           ; decrement newline counter
.C:c019  D0 0B        BNE .skipnl
.C:c01b  48           PHA               ; newline needed -> save accu
.C:c01c  A9 27        LDA #$27          ; restore newline counter
.C:c01e  85 FB        STA $FB
.C:c020  A9 0D        LDA #$0D          ; load newline character
.C:c022  20 D2 FF     JSR $FFD2         ; output character
.C:c025  68           PLA               ; restore accu
.C:c026   .skipnl:
.C:c026  88           DEY               ; decrement repeat counter
.C:c027  D0 EB        BNE .outloop      ; repeat until 0
.C:c029  E0 02        CPX #$02          ; check for block index of text part
.C:c02b  D0 DD        BNE .blockloop    ; not in text part -> repeat
.C:c02d   .textpart:
.C:c02d  48           PHA               ; save accu
.C:c02e  A5 FC        LDA $FC           ; load index for run-length data
.C:c030  4A           LSR A             ; and shift right
.C:c031  A8           TAY               ; -> to Y register
.C:c032  B9 4A C0     LDA .seqlens,Y    ; load run-length data
.C:c035  90 04        BCC .lownibble    ; carry clear from shift -> low nibble
.C:c037  4A           LSR A             ; shift high nibble into low nibble
.C:c038  4A           LSR A
.C:c039  4A           LSR A
.C:c03a  4A           LSR A
.C:c03b   .lownibble:
.C:c03b  29 0F        AND #$0F          ; mask low nibble
.C:c03d  F0 08        BEQ .textdone     ; run-length zero? then text block done
.C:c03f  E6 FC        INC $FC           ; increment index for run-length data
.C:c041  A8           TAY               ; run-length to y-register
.C:c042  68           PLA               ; restore accu
.C:c043  49 09        EOR #$09          ; toggle between '8' and '1'
.C:c045  D0 CD        BNE .outloop      ; and back to output loop
.C:c047   .textdone:
.C:c047  68           PLA               ; restore accu
.C:c048  D0 C0        BNE .blockloop    ; back to loop for next block
.C:c04a   .seqlens:
.C:c04a  28 38 36 36  .BYTE $28,$38,$36,$36
.C:c04e  52 12 52 12  .BYTE $52,$12,$52,$12
.C:c052  42 12 42 22  .BYTE $42,$12,$42,$22
.C:c056  52 12 52 12  .BYTE $52,$12,$52,$12
.C:c05a  72 82 28 28  .BYTE $52,$82,$28,$28
.C:c05e  72 32 14 82  .BYTE $72,$32,$14,$82
.C:c062  82 72 42 22  .BYTE $82,$72,$42,$22
.C:c066  82 82 42 12  .BYTE $82,$82,$42,$12
.C:c06a  42 22 82 92  .BYTE $42,$22,$82,$92
.C:c06e  36 06        .BYTE $36,$06
.C:c070   .lseqlens:
.C:c070  27 50 4F 9C  .BYTE $27,$50,$4F,$9C
.C:c074   .chars:
.C:c074  33 31 31 37  .BYTE "3117"

1

C (gcc) , 188 187 185 byte

-1 cảm ơn JonathanFrech.

-2 nhờ trần.

#define F(c,n)for(c=0;c<n;c++)
i,j,k;r(d,n){F(k,n)printf("%d",d);}f(){r(7,156);r(1,79);F(i,45)F(j,6)r("pdpi8pIa7]R>=4gQ>Q2iPoX2=O4a1=QRJ17QR>=4a1i8p"[i]-49>>j&1?8:1,1);r(1,80);r(3,39);}

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


2
Chào mừng bạn đến với PPCG, câu trả lời đầu tiên tốt đẹp!
trứng

Tôi nghĩ rằng bạn có thể chuyển chuỗi của mình sang chuỗi không cần thoát khỏi dấu gạch chéo ngược, dẫn đến 187 byte .
Jonathan Frech

@JonathanFrech À, đẹp quá!
dạ dày

@ceilingcat Bắt tốt!
dạ dày


0

Befunge-93 , 500 byte

v F         >20g1-20p
>"3"20g10g`#^_>52*"F"20p30g10g`#v_"^!1"21p30p84*2+1p
^                       p03-1g03<
^>"81118888888811888888881>!"30p84*2+1p52*
^^"8888811188888811"*25"188111118"<>">#7"21p30p57*5p
>*"188111188188111188188111118818"^ $>:#,_@
^25"18811111881881111188188111111"<
>"8888811888888881"25*"1111111881"^
^"88811881111111881118888"*25"188"<
>"1188111111188111111118811111111"^
^"11881"*52"188111111118811111111"<
>"11111881"52*"188111188188111188"^
^"1118811111111188888811188888811"<

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

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.