Wykonaj stwardnienie promieniujące Quine


15

Ostatniej nocy szukałem wyzwania Quine Hardened Quine, ale nie mogłem go znaleźć. Okazuje się, że nikt jeszcze o to nie pytał! Oto on:

Twoim zadaniem jest stworzenie quine, czyli niepustego programu komputerowego, który drukuje własne źródło bez czytania. Ponadto, jeśli usuniesz jeden bajt z oryginalnego programu, nowy program powinien wydrukować źródło oryginalnego programu.

To jest więc odpowiedzi są oceniane w bajtach, przy czym mniej bajtów jest lepszych.



Powiązane również (duplikacja zamiast usuwania)
— JungHwan Min

1
Czy to nie było pytanie, bez odpowiedzi przez 1,5 roku, a następnie usunięte b / c konto użytkownika zostało usunięte czy coś? Nie mówię, że nie chcę jednego przez +1. Przysięgnij, że to widziałem.
— Magic Octopus Urn

@MagicOctopusUrn Myślałem, że istnieje. Chciałem na nie odpowiedzieć, ale nie mogłem go znaleźć. Jeśli ktoś znajdzie stary, chętnie sfałszuję to.
— Post Rock Garf Hunter,

Ja też nie mogę tego znaleźć. Muszę powoli szaleć.
— Magic Octopus Urn

Odpowiedzi:


7

Gol> <> , 49 45 bajtów

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

Wypróbuj online!

Weryfikacja!

Zrobiłem to w Gol> <> zamiast> <>, ponieważ ten pierwszy ma przydatny Koperator kopiujący góręn elementy ze stosu, co ułatwia duplikowanie czystej kopii kodu źródłowego.

Wyjaśnienie:

Działa to poprzez posiadanie dwóch kopii kodu wykonawczego i przekierowanie do drugiego, jeśli pierwszy jest uszkodzony. Nie udaje się to po usunięciu ostatniej \lub środkowej nowej linii, które są kompensowane później.

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

Grałem w golfa 2 bajty !!!
— KrystosTheOverlord


Właśnie zdałem sobie sprawę, że zrobiłem to całkowicie źle, przepraszam, istnieje jeden zestaw znaków, które jeśli brakuje, program po prostu nie działa ...
— KrystosTheOverlord

@KrystosTheOverlord Możesz użyć programu weryfikacyjnego do przetestowania swoich programów
— Jo King
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.