Keluaran PPCG Prime


69

Ini adalah PPCG Prime

624 digit

777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777111111111111111111111111111111111111111111111111111111111111111111111111111111188888888118888888811188888811188888811188111118818811111881881111881881111881188111118818811111881881111111881111111188888888118888888811881111111881118888188111111118811111111881111111881111881188111111118811111111881111881881111881188111111118811111111188888811188888811111111111111111111111111111111111111111111111111111111111111111111111111111111333333333333333333333333333333333333333



Jika kita membagi setiap 39 digit yang kita dapatkan

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

Tugas Anda adalah menampilkan PPCG-Prime

Ini adalah Kode terpendek dalam byte menang.

Jika Anda memasukkan PPCG-Prime dalam fungsi Mathematica di bawah, Anda mendapatkan hasil ini

ArrayPlot@Partition[IntegerDigits@#,39]&   

masukkan deskripsi gambar di sini


37
Bagaimana Anda menemukan ini?
Stewie Griffin

5
@StewieGriffin Probabilitas rata-rata untuk sebuah bilangan nprima sebanding dengan 1/log(n), yang sebenarnya tidak terlalu kecil. Cukup periksa banyak angka hingga prima.
user202729

2
Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Dennis

1
@ user202729 log(n)tentang 1436.6dalam hal ini.
Jeppe Stig Nielsen

3
@Fabian Saya tidak berpikir metode ini akan efisien ... Untuk Perdana sebesar ini (624 digit), angka yang Anda minta memiliki 621 digit (dan bahkan lebih sulit untuk bermain golf), Kecuali jika ini adalah 10 ^ 621 utama!!! Jika Anda ingin menemukan nomor Anda, berikut ini adalah perkiraan sederhana x/logxoleh Gauss

Jawaban:


22

Jelly , 55 54 52 47 46 byte

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

Ada lebih banyak pendekatan yang berbelit-belit dalam sejarah revisi, tetapi yang sederhana ini mengalahkan semuanya.

Cobalah online!

Bagaimana itu bekerja

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

Ini adalah numerik literal, disandikan dalam basis bijective 250, di mana digit diambil dari halaman kode Jelly. Argumen rantai (kiri) dan nilai kembali diatur ke bilangan bulat yang disandikan,
n: = 0x21871c77d7d7af6fafafeff0c37f72ff7fbfbdbfdfef5edfeff8e3 .

“¿mŻ“p’

Sebuah literal yang mirip dengan yang di atas, tetapi yang kedua memisahkan dua bilangan bulat yang dikodekan. Nilai kembali diganti dengan array yang disandikan, [777711, 113] .

Dx39

Dmengkonversi nilai kembali ke desimal ( [[7, 7, 7, 7, 1, 1], [1, 1, 3]] ), lalu x39ulangi setiap bilangan bulat individu / digit dalam hasil 39 kali. Ini menghasilkan sepasang array, yang masing-masing berisi digit sebelum dan sesudah teks tinggi 7-karakter. Mari kita sebut array ini A .

jB

Pertama, Bubah argumen (kiri) n menjadi biner. Ini menghasilkan digit yang membentuk teks tinggi 7 karakter, di mana masing-masing 88 telah diganti dengan 0 .

Kemudian, jbergabung dengan array A , menggunakan array biner sebagai pemisah.

o88

Ini melakukan logis ATAU dengan 88 , menggantikan masing-masing 0 dengan 88 .

V

Kami memiliki digit yang benar sekarang, tetapi dalam array 7 's, 1 ' s, 88 's, dan 3 ' s. Vsecara implisit mengubah array ini menjadi string dan kemudian mengevaluasinya, menghasilkan bilangan bulat tunggal.


6

Bubblegum , 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..

Cobalah online!


6

SOGL V0.12 , 52 51 byte

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

mengikat permen karet!
perhatikan bahwa jawaban ini berisi tab

Coba Di Sini!

Mencoba menyimpan byte dengan menggunakan kembali string yang sama untuk kedua Ps.

Penjelasan:

...‘...‘²Κ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

Angka-angka di sana disimpan dari yang asli mulai dari kiri bawah, naik, lalu 1 kanan & bawah, lalu naik, dll.

Versi kompresi polos 52 byte:

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

Coba Di Sini!


Saya tidak yakin apakah yang Anda posting adalah kode yang benar sama sekali ...
Erik the Outgolfer

1
bagaimana cara ...‘mendapatkan angka-angka itu?
Pureferret

1
@Compress String murni.
manusia

@totallyhuman jadi bagaimana cara 'mengkodekan' / memampatkan string mereka ke ...‘?
Pureferret

@ Davidza Saya tidak berpikir itu benar-benar membantu saya mengerti, sayangnya. Memasuki bagian pertama yang menyandikan ke CGdalam alat itu tidak memberikan apa ...‘pun di alat itu.
Pureferret

4

Mathematica, 107 byte

Uncompress@"1:eJxTTMoP8ixgYmAwH8TAkLrAAgqQWYbYGFDVGCxkBh5lCDNwWIqqDCyGrAGDhWEpFmXY3IaiDItPqQqMiQMA+yaAoA=="


Cobalah online!


Koreksi saya jika saya salah, tetapi apakah itu hanya solusi REPL? Itu sepertinya bukan fungsi (yang saya kira Anda bisa memperbaikinya dengan satu &di akhir).
numbermaniac

ini tidak seharusnya menjadi fungsi. kode ini hanya menampilkan perdana PPCG, seperti yang diminta OP
J42161217

4

CJam, ASCII, 61

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

Cobalah online

Tambahkan ]s39/N*untuk pembungkus yang bagus.

Penjelasan:

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

Terima kasih kepada Tas, Felix Palmen dan 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)}

Untuk minat Anda, inilah versi yang lebih panjang dan lebih mudah dibaca:

#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
Anda bisa mendapatkan yang lebih rendah (~ 450ish) hanya dengan mencetak 1s dan 8s sebagaimana adanya, dan memiliki definisi untuk 7, 3 dan 1
Tas

@Keyu Gan: Saya mengkompilasi dengan versi GCC saat ini (7.2.0-debian11), yang memungkinkan ini untuk beberapa tahun. Saya tidak yakin apakah sintaks mungkin dalam salah satu standar C yang lebih baru.
xanoetux

2
@Keyu Gan: Diizinkan dalam C99 dan C11.
xanoetux


Versi ini sangat rumit. Setidaknya saya memahaminya; Terima kasih.
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);}

Cobalah online!

Kredit

  • -10 byte terima kasih kepada 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

Tangkapan bagus, ganda 88, terima kasih!
Olivier Grégoire

2

Retina , 129 byte


h155b78i7b1i7b2i5b2i5b2!4!!4!""1!4!!4!!6#i7b1i7b1!6!2i3b##!6"1##""1#!8i5b2i5b79d38
#
!7
"
!3!
!
i1b
\d+
$*
+`(\D)1
$1$1
1

T`l`d

Cobalah online!


2

Batch, 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
Simpan dua byte dengan mengubah echo|kecd|
stevefestl

Terima kasih, saya tahu ada sesuatu yang lebih pendek, tetapi tidak dapat mengingat
schnaader

Juga, (1,1,156) dodapat disingkat menjadi(1,1,156)do
stevefestl

2

Javascript (ES6), 187 181 byte

-6 byte terima kasih kepada @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)

Pendekatan super sederhana; mungkin bisa bermain golf lagi.

Penjelasan

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

Cuplikan kode contoh (dengan beberapa kode pembantu untuk menambahkan jeda baris pada output)


Anda dapat menyimpan beberapa byte jika anda menentukan fungsi pembantu rsebagai r=s=>s[0].repeat(39)dan kemudian mengganti a, bdan kdengan r`7` dll Cobalah secara online! .
Justin Mariner

2

C (gcc) , 269 267 byte

fungsi, menggunakan RLE sederhana.

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);}

Cobalah online!


Sarankan L"'OP\x9c"alih-alihx
ceilingcat

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);}

Cobalah online!

Berisi beberapa unsintables, string literal adalah "ww\x11dfFdfFDfFDfFDFDDFFDDFFDddDDFdDDddDDddDDDdDDDDffDffDFDDDFDfdDDDDFDDDdDDDdDDFdDDDDFDDDdDDFFDdDFDDDdDDDDdfDdfD\x11\x03".


1

Jelly , 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¤Ḍ

Cobalah online!

-12 byte terima kasih kepada user202729


88 bytes: TIO ( can separates a list of strings inside a string literal)
user202729

Jam berapa di negaramu? Kenapa kamu bangun sekarang?
user202729

@ user202729 Oh benar, terima kasih. Dan saya berada di UTC-4. Saya melakukan hal bodoh dan harus tidur larut malam sehingga saya merasa ingin melakukan tantangan sebelum tidur karena ini dibuka kembali. Saya dapat menguraikan dalam obrolan jika Anda menginginkan: P
HyperNeutrino

1

Python 2 , 309 158 155 136 135 byte

x='1'*78
s='7'*156+x
a=1
for c in str(int('109PDKEZ3U32K97KJQVELW8GKXCD42EGEYK715B6HPMPL0H8RU',36)):s+=`a`*int(c);a^=9
print s+x+'3'*39

Cobalah online!

Python 2 , 137 byte

s='7'*156
a=1
for c in'90'*8+str(int('PL6PU5TXIC24LCKIQY50C2LPAIC9TVZEVQGTMM63IHGBBUV1XSA6',36))+'09'*8:s+=`a`*int(c);a^=9
print s+'3'*39

Cobalah online!


1

Jelly , 85 byte

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

Cobalah online!

Berdasarkan pendekatan Dennis terhadap tantangan Aula Trinity, minus simetri, ditambah huruf 7s terkemuka dan huruf 3s.


3
Dennis mendekati tantangan ini secara berbeda karena ini adalah tantangan yang berbeda. Saya pikir Anda sudah kalah besar!

@ JoseZaman Dia membuat 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

Cobalah online!

Perkalian string, penggabungan, dan penggantian. PowerShell tidak memiliki basis 36 atau serupa, sehingga opsi kompresi dalam jumlah besar terbatas. Mungkin ada cara yang lebih baik untuk "mengompres" bagian tengah - saya masih memeriksa itu.


1

Bahasa Wolfram (Mathematica) , 89 (17 + 71 + 1) byte

Pertama, Anda mengekspor nomor ke file GZIP. File ini, bernama "o" tanpa ekstensi akan tepat 71 byte, yang diperhitungkan totalnya. Secara default, itu akan pergi ke $TemporaryDirectory. Menghilangkan digit agar mudah dibaca.

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

Kemudian

"o"~Import~"GZIP"

akan merekonstruksi nomor tersebut. Nama file adalah satu byte sehingga dari situlah +1 berasal.

Cobalah online!


1

Ruby, 109 byte

Skrip panggilan Zlib.inflateuntuk mendekompres nomor tersebut. Setidaknya membutuhkan Ruby 1.9.3. Ini berisi byte yang tidak dapat dicetak, jadi saya tidak bisa menempelkannya di sini.

Saya tempelkan output dari 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-!

Jika Anda memiliki unvis (1), jalankan unvis prime-inflate.vis > prime-inflate.rbuntuk mengembalikan skrip 109-byte. Atau Anda dapat mendekode Base64, di bawah, dengan ruby -e 'print *STDIN.read.unpack(?m)' < prime-inflate.b64 > prime-inflate.rb.

cmVxdWlyZSd6bGliJwpwdXRzIFpsaWIuaW5mbGF0ZSBEQVRBLnJlYWQKX19F
TkRfXwp42jM3H7zAkLrAAgqQWYbYGFDVGCxkBh5lCDNwWIqqDCyGrAGDhWEp
FmXY3IaiDItPqQqMiQMAEPB+oQ==

Saya menelepon Zlib.inflatejadi saya tidak perlu mendesain dan menggunakan algoritma dekompresi saya sendiri. Saya menggunakan DATAdengan __END__karena string terkompresi tidak valid UTF-8. Kode Ruby harus valid ASCII (dalam Ruby 1.9.x) atau UTF-8 (dari Ruby 2.0) atau memiliki komentar ajaib #coding:binaryuntuk mengubah pengkodean, tetapi Ruby tidak memeriksa pengkodean setelah __END__.



1

6502 kode mesin (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

Demo online

Pemakaian: sys49152

  • -20 byte dengan implementasi yang lebih baik dari metode dan tabel data yang sama untuk blok besar juga.

Penjelasan

Ini juga menggunakan panjang urutan 1dan 8di bagian tengah; karena semuanya lebih pendek dari 16, dua di antaranya disandikan per byte.

Mengomentari daftar pembongkaran:

         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 terima kasih kepada JonathanFrech.

-2 Terima kasih untuk ceilingcat.

#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);}

Cobalah online!


2
Selamat datang di PPCG, jawaban pertama yang bagus!
Ovs

Saya pikir Anda dapat menggeser string Anda untuk mendapatkan string yang tidak perlu melarikan diri backslash, menghasilkan 187 byte .
Jonathan Frech

@ JonathanFrech Ah, bagus!
gastropner

@ceilingcat Tangkapan yang bagus!
gastropner


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"<

Cobalah online!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.