Tantangan Anda adalah untuk menulis N potongan kode seperti itu, ketika Anda menggabungkan pertama K ≥ 1 bersama-sama, mereka menghasilkan jumlah K . Semakin tinggi N , semakin baik. Inilah intinya: Anda tidak boleh menggunakan karakter apa pun lebih dari satu kali di cuplikan Anda.
Aturan
- Anda dapat menggunakan karakter yang sama beberapa kali dalam satu (dan hanya satu) cuplikan.
- Cuplikan ini harus digabungkan sesuai urutan penyajiannya , tanpa melewatkan apa pun.
- Anda harus menulis setidaknya dua cuplikan.
- Semua cuplikan harus dalam bahasa yang sama.
- Ingat: cuplikan tidak harus berupa program atau fungsi lengkap, juga tidak harus berfungsi sendiri.
-1
adalah cuplikan yang valid di Jawa, mis - Semua gabungan yang dihasilkan harus menampilkan nilai K masing-masing .
- Pemenangnya adalah orang dengan nilai N tertinggi . Tie-breaker adalah keseluruhan panjang program terpendek dalam byte.
Contoh
Misalkan potongan Anda berada AD
, xc
, 123
, dan ;l
. Kemudian:
AD
harus menghasilkan1
ADxc
harus menghasilkan2
ADxc123
harus menghasilkan3
- dan
ADxc123;l
harus menghasilkan4
.
Program ini akan memiliki skor 4 .
number
code-challenge
source-layout
Conor O'Brien
sumber
sumber
1
dan `2`?Jawaban:
Python 3 , 1 112 056 cuplikan, 4 383 854 byte
Ini sangat mirip dengan jawaban Python 2 @ WheatWizard . Saya mulai mengerjakan ini sesaat sebelum diposting, tetapi memilah kebiasaan Python tentang karakter non-ASCII dan antrean panjang membutuhkan waktu. Saya menemukan bahwa Python membaca baris 8191 byte pada suatu waktu, dan ketika 8191 byte tersebut hanya berisi bagian dari karakter multi-byte, Python melempar SyntaxError .
Cuplikan pertama menggunakan penyandian dari beberapa karakter (berbeda) untuk Turing Completeness .
Monstrositas ini hanya membangun string berikut dan mengeksekusinya.
Cuplikan berikut semuanya panjangnya persis satu karakter. Tiga karakter berikutnya adalah
\n
,\r
, dan#
. Semua karakter Unicode yang tersisa (kecuali surrogate) mengikuti dalam urutan tertentu, sehingga mereka sejajar dengan batas 8191-byte.Skrip berikut menghasilkan program yang sesuai untuk input k antara 1 dan 1112056 .
sumber
Perl 5,
50.091151 cuplikanCuplikan pertama:
Cuplikan 2 hingga 26:B
melaluiZ
Cuplikan ke-27 hingga ke-46:
a
melaluiz
, tidak termasuk karakter dalam "panjang"Cuplikan ke 47 sampai 56:
0
melalui9
Cuplikan ke-57:_
Cuplikan yang tersisa adalah 50.105 karakter Unicode individual yang oleh Perl dianggap sebagai karakter "kata", tidak termasuk 14 karakter kata yang berbeda dalam cuplikan awal, dalam urutan apa pun.Yah, itu pemikiran yang bagus, tetapi ternyata setelah beberapa lama Perl memberi Anda kesalahan "pengidentifikasi terlalu panjang". Ini adalah program gabungan terpanjang yang bisa saya dapatkan untuk dicerna Perl:
Halaman manual perldiag mengatakan "Versi masa depan Perl kemungkinan akan menghilangkan batasan-batasan yang sewenang-wenang ini" tetapi Perl 5.18 saya belum melakukannya.
Penjelasan:
Dalam mode non-ketat, Perl 5 menafsirkan string karakter kata yang tidak dikutip sebagai "kata kunci," pada dasarnya mengutipnya untuk Anda secara otomatis. Mereka biasanya dihindari, tetapi mereka pasti membantu di sini!
sumber
a-z
Cuplikan Anda kemungkinan besar akan menggunakan karakter dari cuplikan pertama Anda.length("length(
.Python 2 , skor 32
Dengan potongan berikutnya
B
,C
,D
, ...Y
,Z
,u
,v
,w
,x
,y
,z
.Dalam ironi yang dramatis, Python 3 mendukung pengidentifikasi Unicode, yang akan membuat kita menjadi sangat konyol dengan trik ini - tetapi tidak bisa
print
tanpa tanda kurung. Saya bisa menjejalkan angka ke dalam pengidentifikasi juga, tetapi saya tidak berpikir pendekatan ini sangat menyenangkan untuk memeras lebih banyak.Cobalah online!
Python 2 , skor 18, kurang cheat-y
Cobalah online!
sumber
JavaScript (ES6, V8 6.x),
5250298119526119638119683128781 snippets,88149147575179575631576121612789 byteLebih jauh di bawah ini adalah Stack Snippet yang menghasilkan program lengkap, mengevaluasinya, dan membuat tautan unduhan untuk file tersebut. Cuplikan itu akan terus menghasilkan jawaban yang lebih baik karena versi terbaru Unicode didukung oleh versi JavaScript yang lebih baru, yang menambahkan pengidentifikasi valid baru ke bahasa.
Hanya menggunakan ASCII
Penjelasan
Ini menggunakan teknik metaprogramming
Proxy
untuk mengaktifkan get handler trap pada objek dan mengakses nama properti sebagai string, mengembalikan pengenallength / 2
sebagai nilainya.Dengan potongan pertama dimulai sebagai
new Proxy({},{get:(n,{length:e})=>e>>(e/e)}).nn
, setiap potongan tambahan menambahkan stringlength
pengidentifikasi dengan2
dengan memastikan ke.repeat()
masing-masing titik kode dua kali untuk 2 byte utf-16 karakter, dan satu kali untuk 4 byte utf-16 karakter.Pengidentifikasi dalam JavaScript
Dalam Spesifikasi Naskah ECMAS , suatu
IdentifierName
didefinisikan dengan tata bahasa berikut:Menghasilkan jawabannya
Awalnya menggunakan properti Unicode "ID_Continue", saya menulis skrip Node.js yang menghasilkan jawaban lengkap. Sekarang ini hanya skrip sisi klien yang menggunakan naif
eval()
untuk menguji karakter yang valid, dan beralih melalui semua poin kode unicode:Menjalankan
stat -f%z answer.js
menghasilkan jumlah byte 612802, tetapi kami mengurangi 13 byte untukconsole.log(
dan)
membungkus pengiriman yang sebenarnya.Pengkodean
Sumber disimpan sebagai utf-8, yang tercermin dalam jumlah byte jawaban yang sangat besar. Ini dilakukan karena Node.js hanya dapat menjalankan file sumber yang disandikan dalam utf-8.
JavaScript secara internal menyimpan string dengan pengkodean utf-16, sehingga string "karakter length" yang dikembalikan dalam JavaScript sebenarnya hanya setengah dari jumlah byte dari string yang dikodekan dalam utf-16.
sumber
x
alih-alih$
, membebaskannya sebagai karakter pengidentifikasi tambahan?Python 2 , skor
610+3 berkat pizzapants184
+1 berkat WheatWizard
Cobalah online!
sumber
print int(True)
menjadi hanya4/4
, Anda dapat menambahkanand 7
untuk 7, mengingat Anda tidak harus mencetak nomor, cukup 'hasilkan'&2
akan meningkatkan skor Anda satu per satu karena&
memiliki prioritas lebih tinggi daripada^
, tetapi Anda harus membuat nomor 2 entah bagaimana. (Anda dapat menggunakan[[]==[]][[]<[]]<<[[]==[]][[]<[]]
)ord
bertentangan denganand
, tapi saya memperbaikinyaTI-Basic (83 series, OS versi 1.15 atau lebih tinggi), skor:
17181924(Tiebreaker: 53 byte)
Anda bisa mendapatkan skor yang sangat besar dengan menyalahgunakan panjang string seperti biasa: mulai dengan (seperti yang ditunjukkan oleh @Scrooble) dan terus menambahkan potongan token tunggal sampai akhir. TI-Basic memiliki lebih dari 700, sehingga benar-benar berfungsi dengan baik. Tapi inilah pendekatan lain:
length("A
length("length(
Perhatikan bahwa TI-Dasar tokenized, sehingga (misalnya)
e^(
perintah tidak menggunakan salah satu karaktere
,^
,(
.Bergantung pada fitur tidak berdokumen dari
sub(
perintah: selain menemukan substring, itu juga dapat digunakan untuk membagi angka dengan 100.Karya ini jika itu berjalan pada kalkulator segar, yang memungkinkan kita berasumsi bahwa
X
,Y
,Z
semua nol, bahwa variabel jendela diatur ke nilai standar mereka, bahwa kalkulator dalam modus radian, dan bahwarand
's tiga output pertama akan menjadi sekitar0.943
,0.908
,0.146
.sumber
PowerShell , 25 byte, Skor 5
Cuplikan 1:
' '.count
keluaran1
. Ini dilakukan dengan mengambil.count
string, yang merupakan satu karena hanya ada satu string. Cobalah online!Cuplikan 2:
*2
keluaran2
karena kami mengambil1
dari cuplikan sebelumnya dan mengalikannya dengan dua Cobalah secara online!Cuplikan 3:
+!""
keluaran3
dengan menambahkan Boolean-bukan dari string kosong. Ini secara implisit melemparkan string kosong ke$true
, yang lagi-lagi secara implisit dilemparkan ke1
, jadi kami menambahkan satu Cobalah online!Cuplikan 4:
-(-1)
keluaran4
dengan hanya mengurangi yang negatif Cobalah online!Cuplikan 5:
|%{5}
keluaran5
dengan mengambil angka sebelumnya ke dalam satu lingkaran dan setiap iterasi dari loop itu (hanya satu, karena hanya ada satu nomor input) keluaran5
Cobalah secara online!Terima kasih kepada Jan untuk cara alternatif untuk membuat
4
dan cara licik untuk membuat5
.sumber
' '.count*2+!""-(-1)|%{5}
dengan skor 5?$_
di dalam|%{ }
. Terima kasih!C, 10 cuplikan, 45 byte
Cobalah online!
sumber
MATL , Skor
815,64123 byte11,23ZP
adalah idenya, bersama dengan mengganti3
denganI
untuk potongan 7.OO...N&
adalah idenya.Akan datang lebih banyak lagi.Saya tidak tahu fungsi MATL dengan hati, jadi saya harus bolak-balik dan bolak-balik dalam dokumentasi ... :)Cobalah online!
sumber
5Yy
bagus! Saya sudah menggunakanY
3 untuk mendapatkan perdana kedua :(OOOOOOON&
. Jika Anda menambahkan yang lain, ini mungkin yang terakhir, karena&
yyyyyyyy...
? Saya harus menggandakan nomor, 24y
untuk mendapatkannya digandakan 12 kali ...?d
. Saya menggunakan ponsel sekarang, tetapi cobalahX#
untuk debug-cetak tumpukanV , skor 10
Cobalah online!
sumber
Jelly , 253 byte, skor 250
Cuplikan 1-char berikutnya:
Catatan:
¶
juga dapat diganti dengan\n
, byte tersebut sama dalam codepage Jelly.Setelah Anda menambahkan semua snippet itu, Anda kemudian dapat menambahkan snippet 2-char
”‘
.+1 berkat Dennis .
Cobalah online!
sumber
Bahasa , 1 112 064 cuplikan
The n th potongan terdiri dari 2 3n-1 pengulangan dari n th karakter Unicode non-pengganti, sampai dengan dan termasuk 1 112 064 th dan terakhir karakter non-pengganti dari standar Unicode saat ini.
Outputnya unary (menggunakan byte nol sebagai digit) untuk kesederhanaan. Desimal dimungkinkan, tetapi itu akan membuat program lebih lama. Dengan unary, kita dapat menguji program pertama.
Untuk n = 1 , kita mendapatkan 4 pengulangan dari U + 0000 . Ini sama dengan program brainfuck
.
, yang mencetak satu byte nol.Untuk n = 2 , kami mendapatkan 32 pengulangan U + 0001 , dengan total 36 karakter. Ini setara dengan program brainfuck
..
, yang mencetak dua byte nol.Untuk n = 3 , kita mendapatkan 256 pengulangan U + 0002 , dengan total 292 karakter. Ini sama dengan program brainfuck
...
, yang mencetak tiga byte nol.Dan sebagainya, hingga n = 1 112 064 .
sumber
'+'*(48 + d) +'.>'
untuk setiap angka desimal dari n akan mencapai skor yang sama. Ini jauh lebih sulit untuk dijelaskan.BASIC (ZX Spectrum), skor 244 (skor baru 247) [apakah ini curang?]
Cuplikan 1:
Cuplikan 2:
:
Cuplikan 3:
REM
Cuplikan 4-244: Cuplikan karakter tunggal, menggunakan semua karakter yang tidak ada dalam cuplikan 1, 2 dan 3.
Penjelasan
Karakter
Pada Spectrum,
PRINT
adalah karakter tunggal (kode 245). The snippet 1 kegunaan 11 karakter yang berbeda:2
,3
,5
,6
,+
,-
,*
,(
,)
,PRINT
danPEEK
Apa yang Anda lihat sebagai ruang adalah bagian dari karakterPRINT
danPEEK
, sehingga ruang itu sendiri belum digunakan. Saya memutuskan untuk memberikan nomor baris 2356 karena ini adalah satu-satunya digit yang ada dalam kode.Karakter 13 dan 14 tidak diperbolehkan. Itu berarti ada 243 karakter tersisa untuk cuplikan 2-244, dimulai dengan
:
danREM
untuk menghindari kode yang akan menghasilkan kesalahan atau melakukan hal lain.Bagaimana itu bekerja
Inilah sebabnya saya tidak yakin apakah jawaban ini sesuai dengan buku.
23635 adalah lokasi memori untuk PROG variabel sistem 16-bit, disimpan sebagai LH. (Nilainya biasanya 23755. Tetapi terlepas dari hasil yang salah jika kebetulan tidak terjadi, menggunakan nomor ini secara langsung, meskipun akan mempersingkat kode, akan dikenakan biaya karakter digit tambahan.) Nilai PROG adalah lokasi memori di mana program itu sendiri disimpan. Dua byte pertama adalah nomor baris yang disimpan sebagai HL, dua byte berikut adalah panjang baris yang disimpan sebagai LH. Begitulah cara program melihat panjang garisnya sendiri, jadi sesuatu yang sesuai perlu dikurangi
Menyimpan karakter
Mempertimbangkan bagaimana angka disimpan, garis bisa diakhiri dengan -114 sehingga snippet 1 akan menghasilkan 1. Tapi saya tidak ingin menggunakan angka tambahan, jadi saya malah mengambil dua angka 2 digit, yang kemudian harus ditambah ke 122; 56 dan 66 melakukannya dengan baik.
Kode ini sedikit jelek dengan semua nilai penghitungan dan penghitungan PROG (
PEEK 23635+256*PEEK 23636
) dua kali. Tetapi jika saya menyimpannya dan kemudian menggunakan nilai yang disimpan, itu akan memerlukan karakter / potongan tambahan - garisnya bisa mulai sepertiyang akan menggunakan 4 karakter tambahan:
LET
,p
,=
dan:
.Mungkin saya akan merekayasa ini sehingga semua angka dihitung dari angka yang hanya menggunakan 1 digit dan mendapatkan 3 snippet.
EDIT:
Berikut ini cuplikan baru 1 (itulah bagaimana satu baris panjang terbungkus-ditampilkan pada Spectrum, jadi jika Anda ingin menguji kode, itu akan membantu Anda melihat bahwa Anda mengetiknya dengan benar):
Saya bisa mendapatkan potongan lain dengan menghindari
+
dan hanya puas dengan-
. Saya tidak akan mencobanya, ini sudah cukup cobaan.sumber
Klein 011 , 9 cuplikan
Cuplikan 1
Cobalah online!
Cuplikan 2
Cobalah online!
Cuplikan 3
Cobalah online!
Cuplikan 4
Cobalah online!
Cuplikan 5
Cobalah online!
Cuplikan 6
Cobalah online!
Cuplikan 7
Cobalah online!
Cuplikan 8
Cobalah online!
Cuplikan 9
Cobalah online!
Penjelasan
Ini adalah tantangan yang sangat menyenangkan bagi Klein. Topologi unik Klein memungkinkan banyak hal menarik untuk dilakukan. Seperti Anda mungkin memperhatikan jawaban 5-9 hanya menambahkan filler (huruf tidak melakukan apa pun di Klein jadi saya menggunakannya sebagai filler) ke kode untuk merentangkan kotak pembatas. Hal ini menyebabkan ip untuk mengambil jalur yang berbeda melalui bagian kode sebelumnya karena topologi unik Klein.
Saya akan membuat penjelasan lengkap nanti, tetapi untuk sekarang di sini adalah versi program yang lebih mudah dimengerti dengan semua huruf diganti dengan
.
s.Cobalah online!
sumber
> <> , Nilai:
Infinity1.112.064-6 = 1.112.058Cuplikan 1 (6 byte)
Cuplikan ini menampilkan jumlah karakter setelah; tambah satu. Ini dapat diperpanjang untuk
tak terbatasjumlah yang sangat besar potongan satu karakter masing-masing. Google cepat memberi tahu saya ada 1.112.064 kemungkinan karakter Unicode, minus 6 yang sudah saya gunakan.Coba Ini online
sumber
R , skor: 79
Kredit untuk Sean jawaban Perl untuk inspirasi; ini menyalahgunakan beberapa kebiasaan penerjemah R.
Cuplikan pertama:
cuplikan berikutnya adalah karakter di:
Cobalah online!
The
scan
fungsi membaca data dari file""
yang defaultnyastdin()
.Dokumen untuk
stdin()
menunjukkan bahwa:Oleh karena itu, data selanjutnya menjadi file. Ini dapat diperluas secara sepele, dan dapat bekerja dengan beberapa pengkodean yang berbeda.
sumber
Pyke , 256 byte, skor 254
Harap dicatat bahwa ini adalah kode hex byte aktual, dipisahkan oleh spasi, karena di sana byte nol (
\x00
) disertakan.Memulai cuplikan:
Cuplikan 1-char berikutnya:
Coba di sini!
sumber
Java 8, 7 snippet (19 byte)
Hanya permulaan, akan terus bekerja di sana.
Coba di sini.
Penjelasan:
Diutamakan eksekusi mungkin menjadi lebih jelas ketika saya menambahkan tanda kurung:
a*b
: Kalikana
denganb
~a
:-a-1
a>b?x:y
:if(a>b){ x }else{ y }
a|b
: Bitwise-ORa
denganb
a^b
: Bitwise-XORa
denganb
a%b
:a
modulo-b
sumber
Python 2 , 110 cuplikan
Berikut ini cuplikan lengkapnya:
Cobalah online!
Cuplikan pertama adalah
Dan kemudian 109 cuplikan berikutnya adalah 109 byte berikutnya.
Ini cukup "curang" seperti yang dikatakan Lynn. Cuplikan pertama membuka file dan mengurangi 44 dari panjangnya, lalu masing-masing cuplikan menambahkan 1 ke panjang file tanpa mengubah logika program secara keseluruhan. dengan demikian meningkatkan hasil output sebesar 1.
sumber
dc , skor 13, 58 byte
Cobalah online!(Catatan, versi TIO menambahkan
f
setelah setiap potongan untuk mencetak seluruh tumpukan, menunjukkan bahwa setiap potongan hanya meninggalkan nilai tunggal pada tumpukan; juga saya lupa ruang terdepan pada potongan terakhir yang tidak masalah secara fungsional ketika mereka dipecah-pecah oleh jeda baris tetapi tidak dihitung untuk penggunaan karakter saya)Setiap rangkaian cuplikan tambahan meninggalkan nilai yang diinginkan dan hanya nilai yang diinginkan pada tumpukan. Setelah memukul 12, saya sudah kehabisan cara untuk makan tumpukan. Saya mencoba menggunakan operasi matematika sejak awal karena mereka melahap tumpukan dan ketika kita masuk ke angka yang lebih besar itu menjadi lebih sulit untuk mengelola seperti itu. Ketika semua dikatakan dan dilakukan, saya hanya memiliki angka 0 yang tersisa untuk dimainkan dan sangat sedikit di jalan stack-popping, jadi saya pikir 13 cukup dekat dengan maxed out. Saya yakin ada banyak cara yang serupa (dan mungkin lebih pendek) untuk mencapai ini di dc, ini hanya semacam jatuh ke tempatnya. Perhatikan bahwa cygwin menangani AF yang dicampur dengan 0-9 berbeda dari kebanyakan versi dc,
44C4r/CC 4//
berfungsi untuk cuplikan terakhir di cygwin.sumber
Pyth , 124 snippet
Cobalah online!
Karakter yang tidak dapat dicetak di mana keluar menggunakan tiga karakter yang dapat dicetak (
x..
). Cuplikan pertama panjangnya tiga byte, setiap cuplikan setelah itu tumbuh panjangnya satu.sumber
Beatnik , 22 byte, skor 20
Dengan asumsi kata "snippet" memungkinkan Anda untuk mendorong nilai pada stack.
sumber
Oktaf, Skor 86
Diikuti oleh:
Ini mengeksploitasi fakta bahwa Oktaf memperlakukan semuanya setelah nama fungsi sebagai input string. Jadi
nnz n
mengembalikan jumlah elemen non-nol dalam string'n'
. Kita mencapai 86 dengan menambahkan karakter ASCII yang dapat dicetak lainnya.',"%#
tidak bekerjasumber
APL (Dyalog) , skor 12
Skor +1 berkat @dzaima
Cuplikan pertama hingga ketiga:
Lalu masing-masing
234567890
.Cobalah online!
sumber
Julia 0.6, 111217
Script berikut membuat program lengkap:
Penjelasan
Makro
diikuti oleh semua karakter unicode berbeda yang diizinkan dalam pengidentifikasi, dihitung dengan
isidentifier
. Beberapa tanda diakritik mengacaukan penghitungan jadi saya menghapusnya.sumber
TeX, skor 61 (mungkin 190)
Cuplikan pertama:
60 cuplikan lainnya: dalam urutan apa pun, masing-masing berisi satu karakter dari
Penjelasan:,
\len
yang dipanggil pada bagian akhir, mengubah urutan kontrol menjadi string, setiap karakter (termasuk\
) adalah satu karakter token string itu; lalu\glen
token gobbles\
, lalu\tlen
menghitung token yang tersisa. Karena itu output panjang dari urutan kontrol (tidak termasuk\
).Karakter dari cuplikan lainnya memperpanjang urutan kontrol yang awalnya adil
\t
. Urutan kontrol multi-karakter harus terdiri dari huruf saja, tetapi semuanya dihitung sebagai huruf karena semuanya telah ditetapkan kode kategori 11 (menggunakan kode ASCII sehingga karakter itu sendiri tidak muncul dalam cuplikan pertama).Saya memutuskan untuk menggunakan kode oktal untuk beberapa karakter yang harganya satu simbol,
'
tetapi menyelamatkan saya dua digit, 8 dan 9, jadi saya mendapatkan satu cuplikan. Mungkin bisa mendapatkan pasangan lagi jika saya tidak perlu\expandafter
.Keluaran
Kemungkinan perubahan: bungkus
\number\count1
ke dalam\message{}
sehingga output tidak masuk ke dalam.dvi
output melainkan untuk konsol keluaran dan.log
. Tidak ada biaya surat tambahan.190
Sayangnya TeX bekerja dengan ASCII dan bukan Unicode (atau tidak sekarang?), Tetapi solusi saya mungkin dapat diperluas untuk memasukkan 129 potongan karakter tunggal yang berisi karakter dengan kode 127-255. Mungkin bahkan beberapa karakter sebelum 32. Karakter 32 (spasi) tidak berfungsi, jika tidak saya akan memasukkannya ke dalam cuplikan juga - tidak memerlukannya di cuplikan pertama. Tentu saja, masing-masing karakter tambahan ini harus
\catcode
d menjadi huruf dalam cuplikan pertama.sumber
Pip, 57 byte, skor = 16
Catatan yang
<tab>
mewakili karakter tab literal (ASCII 9). Cobalah online!Setiap cuplikan adalah program lengkap yang menampilkan nomor yang diinginkan. Sebagian besar dari mereka bekerja pada prinsip bahwa ekspresi terakhir dalam program Pip di-autoprinted: misalnya, dalam potongan 5, kode sebelumnya dievaluasi, tetapi satu-satunya bagian yang penting adalah
5
. Pengecualian untuk ini adalah:RT9
(akar kuadrat dari 9), tetapi setelah cuplikan 2 ia sebenarnya diurai sebagai2RT9
(akar ke-2 dari 9) - yang, tentu saja, sama dengan jumlah yang sama.y
variabel. Cuplikan 8 lalu menampilkan nilaiy
.o
(diinisialisasi ke 1). Cuplikan 13 mengambil hasil itu dan mengurangiv
(pra-inisialisasi ke -1).1
tanpa baris baru (Ok=k
, di manak=k
mengevaluasi ke nilai kebenaran default 1), dan kemudian mencetak secara otomatis6
.Hal menarik lainnya:
14
dari nilai pi."F"
dari heksadesimal.sumber
Zsh , skor> 50 000 (1 112 046?), 16 + Σ (panjang codepoint UTF-8) byte
Zsh menangani penyandian multibyte secara default. Cuplikan dasar memiliki 18 karakter unik, total 34. Setiap codepoint lain (simpan untuk byte nol) dapat ditambahkan ke ini. Saat saya menulis ini, skrip saya menguji ini pada codepoint ~ 50 000, ukuran file total 150 ribu, sekitar 30 snippet / detik. Jalankan skrip tes lengkap saya sendiri di sini. Anda mungkin ingin menyesuaikannya untuk mulai pada beberapa codepoint nanti.
Coba 2000 cuplikan pertama secara online!
Lebih banyak cuplikan dimungkinkan dengan menggunakan teknik ini .
sumber