Tạo một bức xạ cứng


14

Đêm qua tôi đã tìm kiếm thử thách Quine Hardened Quine, nhưng tôi không thể tìm thấy nó. Hóa ra chưa có ai hỏi nó! Vì vậy, đây là:

Nhiệm vụ của bạn là tạo ra một quine, đó là một chương trình máy tính không trống, in ra nguồn của chính nó mà không cần đọc nó. Ngoài ra, nếu bạn xóa bất kỳ một byte nào khỏi chương trình gốc, chương trình mới sẽ in nguồn của chương trình gốc của bạn.

Đây là vì vậy câu trả lời được tính bằng byte với ít byte hơn.



Cũng liên quan (sao chép thay vì xóa)
JungHwan Min

1
Không phải điều này đã được hỏi, chưa được trả lời trong 1,5 năm và sau đó xóa b / c tài khoản người dùng đã bị xóa hay sao? Không nói rằng tôi không muốn một dù +1. Chỉ thề là tôi đã nhìn thấy nó.
Bạch tuộc ma thuật Urn

@MagicOctopusUrn Tôi nghĩ nó tồn tại. Tôi muốn trả lời nhưng không thể tìm thấy. Nếu ai đó tìm thấy cái cũ, tôi sẽ rất vui khi tự mình lừa cái này.
Đăng Rock Garf Hunter

Tôi cũng không thể tìm thấy nó. Tôi phải đi từ từ điên rồ.
Bạch tuộc ma thuật Urn

Câu trả lời:


7

Gol> <> , 49 45 byte

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

Hãy thử trực tuyến!

Xác minh!

Tôi đã làm điều này trong Gol> <> thay vì> <> bởi vì trước đây có Ktoán tử tiện dụng sao chép hàng đầun mục hàng trên ngăn xếp, giúp sao chép bản sao sạch của mã nguồn dễ dàng hơn.

Giải trình:

Điều này hoạt động bằng cách có hai bản sao của mã thực thi và chuyển hướng đến mã thứ hai nếu cái đầu tiên bị hỏng. Điều này không thành công khi dòng cuối cùng \hoặc giữa mới bị xóa, cả hai đều được bù cho lần sau.

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

Tôi đã đánh gôn 2 byte !!!
KrystosTheOverlord


Tôi mới nhận ra mình đã làm sai hoàn toàn, xin lỗi, có một bộ ký tự mà nếu chúng bị thiếu, chương trình sẽ không hoạt động ...
KrystosTheOverlord

@KrystosTheOverlord Bạn có thể sử dụng chương trình xác minh để kiểm tra các chương trình của mình
Jo King
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.