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 codegolf. Kode terpendek dalam byte menang.
Jika Anda memasukkan PPCG-Prime dalam fungsi Mathematica di bawah, Anda mendapatkan hasil ini
ArrayPlot@Partition[IntegerDigits@#,39]&
n
prima sebanding dengan1/log(n)
, yang sebenarnya tidak terlalu kecil. Cukup periksa banyak angka hingga prima.log(n)
tentang1436.6
dalam hal ini.x/logx
oleh GaussJawaban:
Jelly ,
5554524746 byteAda lebih banyak pendekatan yang berbelit-belit dalam sejarah revisi, tetapi yang sederhana ini mengalahkan semuanya.
Cobalah online!
Bagaimana itu bekerja
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 .
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] .D
mengkonversi nilai kembali ke desimal ( [[7, 7, 7, 7, 1, 1], [1, 1, 3]] ), lalux39
ulangi 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 .Pertama,
B
ubah argumen (kiri) n menjadi biner. Ini menghasilkan digit yang membentuk teks tinggi 7 karakter, di mana masing-masing 88 telah diganti dengan 0 .Kemudian,
j
bergabung dengan array A , menggunakan array biner sebagai pemisah.Ini melakukan logis ATAU dengan 88 , menggantikan masing-masing 0 dengan 88 .
Kami memiliki digit yang benar sekarang, tetapi dalam array 7 's, 1 ' s, 88 's, dan 3 ' s.
V
secara implisit mengubah array ini menjadi string dan kemudian mengevaluasinya, menghasilkan bilangan bulat tunggal.sumber
Bubblegum , 51 byte
Cobalah online!
sumber
SOGL V0.12 ,
5251 bytemengikat permen karet!
perhatikan bahwa jawaban ini berisi tab
Coba Di Sini!
Mencoba menyimpan byte dengan menggunakan kembali string yang sama untuk kedua
P
s.Penjelasan:
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:
Coba Di Sini!
sumber
...‘
mendapatkan angka-angka itu?...‘
?CG
dalam alat itu tidak memberikan apa...‘
pun di alat itu.Mathematica, 107 byte
Cobalah online!
sumber
&
di akhir).CJam, ASCII, 61
Cobalah online
Tambahkan
]s39/N*
untuk pembungkus yang bagus.Penjelasan:
sumber
C,
519427414396377 byteTerima kasih kepada Tas, Felix Palmen dan Lynn.
Untuk minat Anda, inilah versi yang lebih panjang dan lebih mudah dibaca:
sumber
Java (OpenJDK 8) , 165 byte
Cobalah online!
Kredit
sumber
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);}
88
, terima kasih!Retina , 129 byte
Cobalah online!
sumber
Batch,
364335333 bytesumber
echo|
kecd|
(1,1,156) do
dapat disingkat menjadi(1,1,156)do
Javascript (ES6),
187181 byte-6 byte terima kasih kepada @JustinMariner
Pendekatan super sederhana; mungkin bisa bermain golf lagi.
Penjelasan
Cuplikan kode contoh (dengan beberapa kode pembantu untuk menambahkan jeda baris pada output)
Tampilkan cuplikan kode
sumber
r
sebagair=s=>s[0].repeat(39)
dan kemudian menggantia
,b
dank
denganr`7`
dll Cobalah secara online! .C (gcc) ,
269267 bytefungsi, menggunakan RLE sederhana.
Cobalah online!
sumber
L"'OP\x9c"
alih-alihx
C (gcc) , 224 byte
Cobalah online!
Berisi beberapa unsintables, string literal adalah
"ww\x11dfFdfFDfFDfFDFDDFFDDFFDddDDFdDDddDDddDDDdDDDDffDffDFDDDFDfdDDDDFDDDdDDDdDDFdDDDDFDDDdDDFFDdDFDDDdDDDDdfDdfD\x11\x03"
.sumber
Jelly , 86 byte
Cobalah online!
-12 byte terima kasih kepada user202729
sumber
“
canseparates a list of strings inside a string literal
)Python 2 ,
309158155136135 byteCobalah online!
Python 2 , 137 byte
Cobalah online!
sumber
Jelly , 85 byte
Cobalah online!
Berdasarkan pendekatan Dennis terhadap tantangan Aula Trinity, minus simetri, ditambah huruf
7
s terkemuka dan huruf3
s.sumber
PowerShell , 164 byte
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.
sumber
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.Kemudian
akan merekonstruksi nomor tersebut. Nama file adalah satu byte sehingga dari situlah +1 berasal.
Cobalah online!
sumber
Ruby, 109 byte
Skrip panggilan
Zlib.inflate
untuk 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
:Jika Anda memiliki unvis (1), jalankan
unvis prime-inflate.vis > prime-inflate.rb
untuk mengembalikan skrip 109-byte. Atau Anda dapat mendekode Base64, di bawah, denganruby -e 'print *STDIN.read.unpack(?m)' < prime-inflate.b64 > prime-inflate.rb
.Saya menelepon
Zlib.inflate
jadi saya tidak perlu mendesain dan menggunakan algoritma dekompresi saya sendiri. Saya menggunakanDATA
dengan__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:binary
untuk mengubah pengkodean, tetapi Ruby tidak memeriksa pengkodean setelah__END__
.sumber
Python 2 , 112 byte
Cobalah online!
sumber
6502 kode mesin (C64),
142122 byteDemo online
Pemakaian:
sys49152
Penjelasan
Ini juga menggunakan panjang urutan
1
dan8
di bagian tengah; karena semuanya lebih pendek dari 16, dua di antaranya disandikan per byte.Mengomentari daftar pembongkaran:
sumber
C (gcc) ,
188187185 byte-1 terima kasih kepada JonathanFrech.
-2 Terima kasih untuk ceilingcat.
Cobalah online!
sumber
Python 2 ,
244128120 byte-8 byte terima kasih kepada @JonathanFrech
Cobalah online!
sumber
Befunge-93 , 500 byte
Cobalah online!
sumber