이 과제의 목표는 다음 조건을 만족시키는 프로그램을 작성하는 것입니다.
프로그램은 회문 또는 본질적으로 회문이 아닙니다 (프로그램의 효과를 변경하지 않고 회문으로 만들기 위해 문자를 제거 할 수 있음을 의미 함).
프로그램은 혁신이 아닙니다 (출력에서 실행될 때 원래 입력을 생성하지 않음을 의미 함)
반대 극성 프로그램이 상기 통상 프로그램의 역행렬이고; 따라서 반전 된 프로그램이 일반 프로그램의 출력에서 실행될 때 원래 입력을 반환합니다.
무엇 않습니다 반전 극성는 말인가요? 언어마다 다릅니다.
- 대부분의 비속어의 경우 이는 단일 작업에서 하위 작업의 순서를 바꾸고 인수의 순서를 바꾸고 하드 코딩 된 목록 / 배열 / 튜플 / 사전 / 스택 / 큐 / 등의 내용을 반대로하는 것을 의미합니다. 코드 블록과 독립형 라인의 순서를 반대로하는 것 (블록 내의 라인은 아님)
예 :
하스켈 :
x`mod`y
-> y`mod`x
; zipWith ((*3).(+)) [1,2,3] [4,5,6]
->zipWith ((+).(*3)) [6,5,4] [3,2,1]
파이썬 : 2**3
-> 3**2
; for x,y in [(1,2),(3,4),(5,6)]
->for y,x in [(6,5),(4,3),(2,1)]
1 문자 기능 (예 : Pyth, APL)이있는 언어의 경우 간단히 명령 문자열을 반대로
BF 같은 1 차원 esolangs 들어, 명령 역방향 또는 극성을 바꿀; 극성 스왑은
[]
->{}
,+
->-
,-
->+
,>
-><
,<
->>
,.
->,
및,
->입니다.
(둘다는 아님).Befunge와 같은 2 차원 esolang의 경우 x 축 또는 y 축 또는 대각선을 가로 질러 반사를 수행하거나 180도 회전하거나 반사와 회전의 조합을 수행 할 수 있습니다
교환 법칙이 성립 작업이 허용되지만, 상동 사람은 없습니다 : 2*x
괜찮지 만, x+x
좋지 않습니다. 극성 역전의 정의는 매우 느슨하지만 의미가 무엇인지에 대한 당신의 판단을 사용하십시오. 객체는 가장 영리한 허점을 찾는 것이 아니라 가장 영리한 솔루션을 찾는 것입니다.
이것은 인기 경연 대회이므로 매우 영리한 허점이 인기가 있지만이 도전의 정신을 지키려고 노력하십시오. 우승자는 최소 1 개의 공감이있는 솔루션이 10 개 이상 있고 공감이 1 개 이상인 제출물보다 1 개 이상의 투표가있는 솔루션이 하나 이상있을 경우 발표됩니다. 또는 1 개월 안에 둘 중 빠른 날짜가 있습니다. 이것은 나의 첫 번째 도전이므로, 공정하고 공정한 피드백을 주려고 노력하지만, 이것이 부당한 도전인지 또는 어떤 식 으로든 잘못 분류되거나 모호한 것인지 알려주십시오. 제가 여기에 설정 한 비둘기 구멍에 맞지 않는 언어에 대해 궁금한 점이 있으면 의견을 말하고 특정 설명이나 규칙 변경에 대한 강한 외침이 있으면 공동체의 의지에 구부릴 것입니다.
최신 정보
이 콘테스트가 시작된 지 정확히 1 개월이 지났습니다 (실제로 제 시간에 도착했는지 모른 채 우연히 확인했습니다). 이것이 인기 콘테스트이므로 우승자 (산사태로)는 Pietu1998-Befunge 입니다. 하단 구성 요소 (텍스트 리버 서 및 역방향 알파벳)가 모두 혁신적이지만 인코더 / 디코더에는 문제가 없으므로 아무런 문제가 없습니다. "BEFUNGE"를 중간에 쓰도록하기위한 보너스 포인트 (제 생각에는). 나는 언어가 시원하게 보이기 때문에 Zgarb의 Theseus 솔루션의 참신함을 개인적으로 좋아했습니다 (제한된 경우). 참여해 주신 모든 분들께 감사 드리며, 당첨자가 선정되는 동안이 콘테스트를 완전히 열어두고 향후 제출을 환영합니다.
()
회문입니까? 기술적으로는 그 반대입니다 )(
.