Ini adalah tantangan polisi-dan-perampok Benang Perampok dapat ditemukan di sini
Tantangan Anda adalah menulis program yang menampilkan anagram kode sumbernya tetapi bukan kode sumber aslinya.
Misalnya program Python berikut,
print`'print*2``'*2`
cetakan
'print*2``print*2``'
yang memiliki semua karakter yang sama dengan sumber aslinya tetapi dalam urutan yang berbeda.
Setelah Anda menemukan program seperti itu, sertakan output program sebagai jawaban yang menghilangkan program yang menghasilkannya. Seperti yang mungkin sudah Anda duga, perampok akan berusaha menemukan program yang Anda sembunyikan, atau program apa pun yang sesuai dengan spesifikasinya. Tujuan Anda adalah membuat program terpendek yang tidak dapat diretas oleh perampok.
Aturan
Seperti kebanyakan tantangan polisi dan perampok , jika jawaban Anda tetap tidak terpecahkan selama seminggu, Anda dapat menambahkan solusi yang dimaksudkan untuk jawaban Anda dan menandainya sebagai Aman . Setelah aman, sebuah jawaban tidak dapat dipecahkan oleh perampok.
Anda tidak perlu menyertakan bahasa solusi yang dimaksud, namun jika Anda tidak menyertakan bahasa, perampok dapat memecahkannya dalam bahasa apa pun yang mendahului tantangan, sementara jika Anda menentukan bahasa mereka hanya dapat memecahkannya dalam bahasa yang disediakan.
Aturan standar untuk Quines berlaku.
sumber
Jawaban:
Brain-Flak , 231 byte Dipecahkan oleh Wheat Wizard
Program asli menggunakan
-A
argumen.Berikut perhitungannya:
sumber
Python 2, 96 byte, dipecahkan oleh math_junkie
Keluaran:
Golf kode waktu pertama! Semoga tidak terlalu mudah.
sumber
print('')
,chr() + ''
sejauh iniHaskell, 107 byte, Retak oleh nimi
Ada tambahan baris tambahan.
Solusi asli:
Cobalah online!
Ide utama saya adalah menulis quine yang mengurutkan kode sumbernya sendiri sebelum menghasilkannya tanpa menggunakan
sort
fungsi pustaka . Hanya setelah percobaan awal dengan nimi , terpikir oleh saya bahwa kode program dapat diurutkan secara manual, dikodekan ke dalam program dan kemudian dicetak sambil menggandakan setiap huruf. Namun karakter yang tersedia terbatas membuat pendekatan ini lebih rumit dan celah sukses nimi sangat mirip dengan program asli saya.Penjelasan:
sumber
;
dengan NL):i[]d=[d,d];main=print$i[]=<<"$$ ... |||"--
dan semua karakter yang hilang setelah--
. Saya menemukan versi ini setelah jawaban saya dari utas perampok dan setelah Anda mengungkapkan jawaban Anda dengan penjelasan yang sekarang berubah.Bahasa yang tidak ditentukan, 124 byte,
Dalam tema jawaban DJMcMayhem ini adalah 32 karakter ASCII pertama (selain
0x00
) dicetak masing-masing empat kali. Karena tidak ada yang terlihat, saya belum memasukkan kode aktual dalam jawaban saya.Inilah hexdump:
Namun di sini ada beberapa Python yang mencetaknya (dan baris baru) jika Anda mau:
sumber
Pyth , 32 byte, Retak oleh math_junkie
Solusi asli
Cobalah online!
sumber
CJam, 46 byte, dipecahkan oleh math_junkie
sumber
V , 21 byte (Aman!)
Perhatikan baris baru terkemuka.
Karena ini mengandung unsintables, berikut adalah hexdump:
Untuk membantu orang lain, berikut ini tautan ke Standar V yang dapat diperpanjang
Ini versi aslinya:
Cobalah online!
Versi yang dapat dibaca adalah:
Cara ini bekerja adalah dengan menyortir sort ke quine extensible default. Ketika saya berpikir tentang V-quines karena jawaban ini, saya menyadari bahwa quine extensible standar dapat dipersingkat tiga byte, jadi solusi ini bisa jadi:
Penjelasan:
sumber
Bahasa yang tidak ditentukan, 254 byte Retak oleh @Dennis!
Saya ragu ini akan menang untuk singkatnya, tetapi akan sulit untuk retak, jadi masih layak untuk dibuat.
Karena bug, urutannya
0x0b, 0x0c, 0x0a
sedikit campur aduk, tapi ini jelas merupakan hasil nyata.Saya pikir saya tidak akan menentukan bahasa hanya supaya saya bisa melihat bahasa apa yang mungkin digunakan. Karena outputnya kebanyakan non-ASCII, berikut adalah hexdump dari output:
Itu adalah setiap karakter ASCII tunggal kecuali untuk
0x00
dan0x0D
karena mereka berdua menyebabkan perilaku aneh pada TIO. Selamat bersenang-senang! >: DKode asli dalam V.
Cobalah online
Hexdump:
Pada dasarnya, semuanya sampai
S
memasukkan sampah ke dalam buffer. Di0xEE
awal hanya untuk memastikan bahwa segala sesuatu setelah baris baru tidak terjadi di bagian loop atau makro. Lalu, kita lakukansumber
Oktaf , 91 byte
sumber
PHP, 130 Bytes (Aman)
Solusi Asli
Saya tidak bisa mengerti bahwa itu tidak retak
sumber
Tebak, 43 byte
Itu adalah panggilan yang sulit apakah akan berbagi bahasa apa itu atau tidak, tapi saya pikir opsi ini lebih baik. Perhatikan bahwa ada baris baru yang tertinggal.
sumber