Crea un quine indurito per radiazione


14

Ieri sera stavo cercando la sfida di Radiation Hardened Quine, ma non sono riuscito a trovarla. Si scopre che nessuno lo ha ancora chiesto! Quindi eccolo qui:

Il tuo compito è creare un quine, ovvero un programma per computer non vuoto che stampa la propria fonte senza leggerlo. Inoltre, se si rimuove un solo byte dal programma originale, il nuovo programma dovrebbe stampare l'origine del programma originale.

Si tratta di quindi le risposte sono classificate in byte con un numero inferiore di byte migliori.



Anche correlato (duplicazione anziché eliminazione)
JungHwan Min

1
Non è stato chiesto, senza risposta per 1,5 anni e poi cancellato b / c l'account utente è stato eliminato o qualcosa del genere? Non dire che non ne voglio uno anche se +1. Giuro solo che l'ho visto.
Magic Octopus Urn

@MagicOctopusUrn Pensavo esistesse. Volevo rispondere ma non sono riuscito a trovarlo. Se qualcuno trova quello vecchio, sarei felice di ingannarlo da solo.
Post Rock Garf Hunter,

Neanche io lo trovo. Devo diventare lentamente pazzo.
Magic Octopus Urn

Risposte:


7

Gol> <> , 49 45 byte

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

Provalo online!

Verifica!

L'ho fatto in Gol> <> piuttosto che> <> perché il primo ha l'utile Koperatore che copia gli noggetti migliori nello stack, il che rende più semplice la duplicazione della copia pulita del codice sorgente.

Spiegazione:

Questo funziona avendo due copie del codice di esecuzione e reindirizzando al secondo se il primo è danneggiato. Ciò fallisce quando \viene rimossa l'ultima o la riga centrale, entrambe compensate in seguito.

<<                       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

Ho giocato a golf 2 byte !!!
KrystosTheOverlord,


Mi sono appena reso conto di averlo fatto del tutto sbagliato, scusa, c'è un set di personaggi che se mancano, il programma non funziona ...
KrystosTheOverlord

@KrystosTheOverlord Puoi usare il programma di verifica per testare i tuoi programmi
Jo King,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.