Buat Quine Hardened Radiasi

14

Tadi malam saya mencari tantangan Radiation Hardened Quine, tapi saya tidak bisa menemukannya. Ternyata belum ada yang bertanya! Jadi begini:

Tugas Anda adalah membuat quine, yaitu program komputer kosong yang mencetak sumbernya sendiri tanpa membacanya. Selain itu jika Anda menghapus satu byte dari program asli Anda, program baru harus mencetak sumber program asli Anda.

Ini adalah sehingga jawaban diberi skor dalam byte dengan lebih sedikit byte lebih baik.

Posting Rock Garf Hunter
sumber
Terkait
Jo King
Juga terkait (duplikasi bukannya penghapusan)
JungHwan Min
1
Bukankah ini ditanyakan, tidak dijawab selama 1,5 tahun dan kemudian dihapus b / c akun pengguna telah dihapus atau sesuatu? Tidak mengatakan saya tidak mau satu +1. Bersumpah aku sudah melihatnya.
Magic Gurita Guci
@ MagicOctopusUrn saya pikir itu ada. Saya ingin menjawabnya tetapi tidak dapat menemukannya. Jika seseorang menemukan yang lama saya akan senang untuk menipu palu ini sendiri.
Post Rock Garf Hunter
Saya juga tidak dapat menemukannya. Saya harus perlahan-lahan menjadi gila.
Magic Gurita Guci

Jawaban:

7

Gol> <> , 49 45 byte

<<H~Kla}\`q%2l}}ss2"<\
<<H~Kla}\`q%2l}}ss2"<\

Cobalah online!

Verifikasi!

Saya melakukan ini di Gol> <> daripada> <> karena yang pertama memiliki Koperator praktis yang menyalin nitem teratas di stack, yang membuat menduplikasi salinan bersih dari kode sumber lebih mudah.

Penjelasan:

Ini berfungsi dengan memiliki dua salinan dari kode yang mengeksekusi, dan mengarahkan ke yang kedua jika yang pertama rusak. Ini gagal ketika baris terakhir \atau tengah dihapus, yang keduanya dikompensasi kemudian.

<<                       Redirect left 
                    <\  Switch to other source code if this line is irradiated
                   "     Push source with wrapping string literal
                ss2      Push quote
              }}         Move "< to end
          q%2l           If the length of the stack is not right
        \`               Push an extra \
       }                 Move the \ to the end
      a                  Newline
    Kl                   Duplicate the stack
   ~                     Pop the extra newline
  H                      Halt and print stack
Jo King
sumber
Saya bermain golf 2 byte !!!
KrystosTheOverlord
Saya baru sadar saya salah melakukannya, maaf, ada satu set karakter yang jika hilang, program tidak berfungsi ...
KrystosTheOverlord
@KrystosTheOverlord Anda dapat menggunakan program verifikasi untuk menguji program Anda
Jo King