Зробіть радіаційно затверділу квінку


15

Минулої ночі я шукав випромінювання, загартованого випромінюванням Quine, але не зміг його знайти. Виявляється, ще ніхто цього не запитував! Отже ось це:

Ваше завдання - скласти квіне, тобто не порожню комп'ютерну програму, яка друкує власне джерело, не читаючи його. Крім того, якщо ви видалите будь-який байт зі своєї оригінальної програми, нова програма повинна надрукувати джерело початкової програми.

Це тому відповіді набираються в байтах, менша кількість байтів - краща.



Також пов'язане (дублювання замість видалення)
JungHwan Min

1
Хіба це не запитували, не відповідали протягом 1,5 років, а потім видаляли b / c, обліковий запис користувача було видалено чи щось? Не кажучи, що я не хочу, хоча +1. Просто клянусь, що я це бачив.
Чарівна восьминога урна

@MagicOctopusUrn Я думав, що існує. Я хотів відповісти на це, але не зміг його знайти. Якщо хтось знайде старий, я би радий обдурити це сам.
Опублікувати Rock Garf Hunter

Я також не можу його знайти. Я мушу йти повільно божевільно.
Чарівна восьминога урна

Відповіді:


7

Гол> <> , 49 45 байт

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

Спробуйте в Інтернеті!

Перевірка!

Я робив це в Gol> <>, а не> <>, тому що у першого є зручний Kоператор, який копіює верхn елементи на стек, що полегшує дублювання чистої копії вихідного коду.

Пояснення:

Це працює, маючи дві копії виконуючого коду та перенаправляючи на другу, якщо перша пошкоджена. Це не вдається, коли останній \або середній новий рядок видалено, обидва вони компенсуються пізніше.

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

Я покатав 2 байти !!!
KrystosTheOverlord


Я щойно зрозумів, що зробив це зовсім неправильно, вибачте, є один набір символів, що якщо вони відсутні, програма просто не працює ...
KrystosTheOverlord

@KrystosTheOverlord Ви можете скористатися програмою підтвердження для тестування своїх програм
Jo King
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.