Bức xạ làm cứng polyycot cyclic quine


10

Thử thách

Viết hai chương trình:

  • chạy trong hai ngôn ngữ lập trình khác nhau.
    • Đây có thể không phải là hai phiên bản của một ngôn ngữ.
  • khi một chương trình được chạy, nó sẽ xuất chương trình thứ hai và ngược lại.
  • Hai chương trình phải khác nhau (không có đa âm).

Đây là cái bẫy mặc dù:

  • Các chương trình phải được làm cứng bức xạ.
    • Điều này có nghĩa là khi bất kỳ bộ n (được xác định bên dưới) nào bị xóa khỏi một trong hai chương trình, chức năng của chúng không bị ảnh hưởng.
    • n được định nghĩa là số lượng ký tự có thể bị bỏ qua với chức năng của chương trình của bạn không bị ảnh hưởng.
    • n phải có ít nhất1 .

Quy tắc

  • Sơ hở tiêu chuẩn là không được phép.
  • Chương trình của bạn phải là quines đúng chu kỳ. Họ có thể không đọc mã nguồn của riêng họ.
  • Ghi điểm được thực hiện như sau:
    • S1+S2n
    • S1S2
    • n
  • Đây là một , điểm số thấp nhất chiến thắng.

Phần thưởng

Vì thử thách này rất khó trả lời, tôi sẽ đưa tiền thưởng cho người đầu tiên trả lời.


Các chương trình phải là quines thích hợp?
Mego

@Mego Whoops - quên đề cập đến điều đó. Đúng.
dkudriavtsev

Chà, "quine đúng" không phải là thuật ngữ đúng vì chúng không phải là quine, nhưng có vẻ như bạn hiểu ý tôi là gì.
Mego

10
Cá nhân, tôi không nghĩ rằng điều này thực sự bổ sung nhiều vào các thách thức kiểm tra bán kết và làm cứng bức xạ mà chúng ta đã có; cả hai loại đã được kết hợp với nhau trong rất nhiều kết hợp đến mức cực kỳ khó để đưa ra một kết hợp thực sự nguyên bản.
Sản phẩm ETH

2
Bạn có lẽ nên thêm một số loại phần thưởng cho việc trả lời này. Tôi cảm thấy rất khó để nhiều người muốn thử. Tôi thấy điều này không có câu trả lời và tôi đã suy nghĩ "ooh một thử thách quine, tôi yêu những cái đó!" nhưng sau đó tôi đọc TẤT CẢ CÁC QUY TẮC và nó hoàn toàn ngăn cản tôi.
MD XF

Câu trả lời:


3

Gol> <>> <> , (117 byte + 117 byte) / 1 = 234

Gol> <>

\\<<'3d*}}}}~}:r0<}!o::! ?>~~a<o>Hr~Kl a}}:?%2l}}}ss2"<<\\
\\<<'3d*}}}}~}:r0<}!o::! ?>~~a<o>Hr~Kl a}}:?%2l}}}ss2"<<\\

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

> <>

\\<<"2ss}}}l2%?:}}a lK~rH>o<a~~>? !::o!}<0r:}~}}}}*d3'<<\\
\\<<"2ss}}}l2%?:}}a lK~rH>o<a~~>? !::o!}<0r:}~}}}}*d3'<<\\

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

Xác minh!

Hai chương trình này giống nhau, chỉ cần đảo ngược. Cả hai đều theo cùng một cấu trúc mã chung.

Giải thích (Gol> <> trên đầu trang,> <> ở dưới cùng)

\\<<                           <<\\  Transition to the copy of the code that is not radiated
\\<<                           <<\\

                              "    Wrapping string literal over the rest of the code
                              '

                           ss2     Push the string character
                           *3d

                        }}}        Rotate the "<<\" to the correct end of the stack
                        }}}

                 }}:?%2l           Use the extra \ to replace a possible irradiated copy
                    }~}:

       ~     lK                    Duplicate the code
        ~~>? !::o!}<0r             Print a copy of the code in reverse

                a                  Push a newline
       a
    Hr                             Reverse, print the rest of stack and terminate
    >o<                            Print the rest of the stack and terminate
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.