방사선 경화 순환 퀴네 폴리 글롯


10

도전

다음 두 가지 프로그램을 작성하십시오.

  • 두 가지 프로그래밍 언어로 실행됩니다.
    • 이들은 한 언어의 두 가지 버전이 아닐 수 있습니다.
  • 한 프로그램이 실행되면 두 번째 프로그램이 출력되고 그 반대도 마찬가지입니다.
  • 두 프로그램은 서로 달라야합니다 (폴리 글 로트 없음).

그래도 캐치가 있습니다.

  • 프로그램은 방사선 강화되어야합니다.
    • 즉 , 두 프로그램 중 하나에서 (아래 정의 된) 문자 집합을 제거해도 해당 기능에는 영향을 미치지 않습니다.n
    • n 은 프로그램 기능에 영향을주지 않고 생략 할 수있는 문자 수로 정의됩니다.
    • n 은 이상이어야합니다 .1

규칙

  • 표준 허점은 허용되지 않습니다.
  • 귀하의 프로그램은 적절한 주기적 퀴인이어야합니다. 그들은 자신의 소스 코드를 읽을 수 없습니다.
  • 스코어링은 다음과 같이 수행됩니다.
    • 당신의 점수는 …S1+S2n
    • 여기서 과 는 각각 첫 번째와 두 번째 프로그램의 크기입니다.S1S2
    • 및 상기와 같이 정의된다.n
  • 이것은 , 최저 점수 승리입니다.

보상

이 도전에 답하기가 어려우므로, 첫 번째 사람에게 현상금을 지급 할 것입니다.


프로그램이 적절한 quine이어야합니까?
Mego

@ Mego Whoops-언급하는 것을 잊었습니다. 예.
dkudriavtsev 2016 년

글쎄, "적절한 quine"은 quine이 아니기 때문에 올바른 용어는 아니지만, 내가 의미하는 바를 이해 한 것 같습니다.
Mego

10
개인적으로, 이것이 우리가 이미 겪은 세미 퀸 및 방사선 경화성 퀴니 문제에 실제로 추가되는 것은 아니라고 생각합니다. 두 범주 모두 이미 많은 조합으로 함께 던져 져서 진정으로 독창적 인 조합을 만들기가 매우 어렵습니다.
ETHproductions

2
이에 대한 답변에 대한 보상을 추가해야 할 것입니다. 많은 사람들이 시도하기가 너무 어렵다고 생각합니다. 나는 이것이 대답이없는 것을 보았고 나는 "오, 퀴네 도전, 나는 그들을 사랑한다!" 그러나 나는 모든 규칙을 읽었고 그것을 완전히 억제했습니다.
MD XF

답변:


3

Gol> <>> <> , (117 바이트 + 117 바이트) / 1 = 234

골> <>

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

온라인으로 사용해보십시오!

> <>

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

온라인으로 사용해보십시오!

확인!

이 두 프로그램은 동일합니다. 둘 다 동일한 일반 코드 구조를 따릅니다.

설명 (위에 골> <>, 아래에> <>)

\\<<                           <<\\  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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.