ทำให้ Quine แข็งตัว


15

เมื่อคืนฉันกำลังมองหาความท้าทาย Radiation Hardened Quine แต่ฉันหามันไม่เจอ ปรากฎว่าไม่มีใครถามเลย! ดังนั้นนี่คือ:

งานของคุณคือสร้าง quine ซึ่งเป็นโปรแกรมคอมพิวเตอร์ที่ไม่ว่างเปล่าซึ่งพิมพ์ต้นฉบับของตัวเองโดยไม่ต้องอ่าน นอกจากนี้หากคุณลบหนึ่งไบต์จากโปรแกรมต้นฉบับของคุณโปรแกรมใหม่ควรพิมพ์แหล่งที่มาของโปรแกรมต้นฉบับของคุณ

นี่คือดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า



เกี่ยวข้องด้วย (การทำสำเนาแทนการลบ)
JungHwan Min

1
นี่ไม่ใช่สิ่งที่ถามไม่ใช่คำตอบเป็นเวลา 1.5 ปีแล้วลบ b / c บัญชีผู้ใช้ที่ถูกลบหรืออะไรบางอย่าง? ไม่ได้บอกว่าฉันไม่ต้องการ +1 เลย แค่สาบานว่าฉันเคยเห็นมัน
Magic Octopus Urn

@ MagicOctopusUrn ฉันคิดว่ามันมีอยู่จริง ฉันต้องการตอบ แต่ไม่สามารถหาได้ หากมีคนพบคนเก่าฉันยินดีที่จะล่อลวงค้อนตัวเองนี้
โพสต์ Rock Garf Hunter

ฉันหามันไม่เจอเหมือนกัน ฉันจะต้องบ้าไปอย่างช้าๆ
Magic Octopus Urn

คำตอบ:


7

Gol> <> , 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.