Kami memiliki tantangan untuk menampilkan skor Anda sendiri , tetapi sepertinya semua jawaban di sana hanya berupa hardcode keluaran dan itu membosankan 1 . Jadi mari kita memiliki tantangan baru. Program keharusan output panjang sendiri dalam byte diikuti oleh string " bytes"
, tetapi untuk mencegah solusi hardcoded jika kita mengurangi ukurannya dengan menghapus salah satu byte, program baru juga harus keluaran itu count byte baru, masih diikuti oleh " bytes"
. Output tidak perlu peka huruf besar-kecil. Anda juga dapat memilih untuk mengeluarkan baris tambahan.
Jawaban Anda akan dinilai dalam byte dengan lebih sedikit byte menjadi lebih baik.
1: Saya sebenarnya suka beberapa jawaban di sana.
code-golf
radiation-hardening
self-referential
Posting Rock Garf Hunter
sumber
sumber
:(
1 bytes
secara teknis tata bahasa yang salah, tetapi dengan asumsi bahasa tidak memiliki built-in untuk menampilkan string" byte "dalam <= 2 byte, program akan lebih panjang dari 3 byte, jadi tidak masalah "- toh itu tidak masalah.Jawaban:
Backhand ,
40 3629 byteCobalah online! Verifikasi!
Jika ragu, gandakan semuanya. Ini menggunakan kemampuan Backhand untuk memindahkan lebih dari satu langkah sekaligus untuk menerapkan redundansi. Semua unsintables memiliki nilai byte 28.
Penjelasan:
Program non-iradiasi:
Program iradiasi:
Jika ada karakter yang dihapus, setiap karakter setelah itu digeser ke bawah.
Namun, alih-alih melompat ke
]
, itu malah mencerminkan akhir program dan mendarat diO
sebaliknya.sumber
Pesona Rise , 47 byte
Cobalah online!
Yang kurang lebih merupakan port dari jawaban Geiger Counter saya , tetapi dengan output yang berbeda (yang merupakan port dari jawaban Klein).
>>yyLL
diperlukan untuk Runic untuk menghasilkan (setidaknya) satu IP, menggabungkan dua IPS, dan merefleksikan kembali ke kiri, sehingga semua variasi menghasilkan satu IP bergerak kiri. Bisa diganti denganyy<<
tetapi tidak menyimpan byte.Reflektor di sebelah kanan memaksa IP ke string kiri bawah, sehingga penghapusan salah satu dari kanan atas memungkinkan IP ke string kanan atas. Menghapus byte di tempat lain di sepanjang baris atas menyesuaikan reflektor atas untuk duduk di atas L (memungkinkan program ke kanan bawah). Penghapusan byte di sepanjang bagian bawah menyesuaikan reflektor itu (atau menghilangkannya) sehingga karakter terakhir secara implisit diisi dengan spasi, yang memungkinkan IP terpental kedua sisi reflektor kanan atas dan ke string kanan atas.
Kelebihan ruang mengecewakan, meskipun. Tetapi semua upaya untuk menguranginya telah menghasilkan program yang lebih besar, program dengan ukuran yang sama, atau program yang tidak 100% tahan radiasi. Baik jawaban Klein dan> <> di sini menggunakan fitur yang tidak tersedia di Runic.
sumber
> <> ,
4339 byteCobalah online! Verifikasi!
Dalam program yang tidak diiradiasi, kami menambahkan
0
ke'
(39), dan dalam program yang diiradiasi kami melewatkan angka 0 dan menambahkannya-1
. Jika ada sesuatu yang dihapus dari baris atas, kita beralih ke baris bawah dan hanya keluaran38 bytes
.sumber
Hexagony , 71 byte
Cobalah online! Verifikasi!
Saya menghabiskan waktu terlalu lama untuk mencoba ini menjadi hexagon ukuran 5, tetapi saya harus puas dengan ukuran di bawah 6 sebagai gantinya
:(
.Diperluas:
Saya awalnya membuat ini dengan
)
satu baris lebih rendah, tetapi ternyata di situlah letak pembagian antara ukuran 5 dan 6 segi enam. Ini berarti ketika byte dihapus, ukuran semua bergeser ke bawah dan merusak jalur. Saya yakin bahwa ukuran 5 adalah mungkin.sumber
)
baris lebih rendah dan kemudian hanya menempatkan no-op setelah itu sehingga itu adalah segi enam ukuran 6?Klein 000, 41 byte
Cobalah online! Verifier JoKing
Saya pikir jawaban ini mirip dengan jawaban <> JoKing , tetapi saya tidak membaca> <> jadi saya tidak yakin.
Ada 4 jenis penghapusan byte di sini
Satu byte dihapus dari baris pertama sebelumnya
/
. Dalam kasus ini, slash secara efektif dipindahkan ke kiri satu ruang, membelokkannya ke garis bawah dan mencegah bagian kode yang dimodifikasi dari dieksekusi. Ini menyebabkan kita menjalankan kode("40 bytes"@
, yang menghasilkan40 bytes
.Yang pertama
/
dihapus dari baris pertama. Dalam hal ini kita menjalankan kode"0"+"4"$" bytes"@
, yang merupakan cara berbelit-belit atau pencetakan40 bytes
.Baris baru dihapus. Ini membuat kita mulai dari akhir baris kedua dan kode yang dihasilkan (dengan noops dihapus) adalah
1("40 bytes"@
, yang hanya dicetak40 bytes
.Satu byte dari baris terakhir dihapus. Hal ini menyebabkan
1
pada akhir baris pertama dipindahkan ke kiri dan mencegahnya ditambahkan ke tumpukan ketika runcing dibelokkan oleh/
. Kode"0"+
untuk alasan itu mendorong0
alih-alih1
, sisa kode mengubah0
menjadi40 bytes
.Klein 001, 41 byte
Cobalah online! Verifier JoKing
Inilah jawaban menggunakan topologi yang berbeda. Ukurannya sama tapi saya pikir ada ruang untuk perbaikan.
sumber