다른 quine 퍼즐과 유사하게 (보다 구체적으로는 this ) 퍼즐 자체를 만드는 프로그램을 작성하십시오.
여기에 새로운 트위스트입니다 : 생성 된 코드는해야 하지 소스와 동일합니다. 오히려 첫 번째 프로그램을 생성하는 다른 프로그램을 출력해야합니다.
위의 문제는 두 언어 사이를 뛰어 넘어 달성했습니다. 나는 이것이 하나의 언어 로 이루어질 것이라고 생각 하지만 소스의 두 가지 (또는 그 이상) 버전은 크게 달라야합니다 (아래 규칙 참조). 이 제약 조건으로 인해 단일 문자 답변 이 허용되지 않으므로 최종 제출에 조금 더 많은 생각이 필요합니다.
규칙
- 코드는 하나의 언어로만 제작해야합니다. (각 언어마다 하나씩 여러 번 제출할 수 있습니다.)
- 다른 코드 버전은 구문 상 고유해야합니다. 다시 말해, 코드 의 추상 구문 트리 를 작성하려면 하나 이상의 노드가 있어야합니다.
- 공급 AST하는 것은 필요하지 않을 것이다, 그러나 당신은 당신의 프로그램 각각에 대해 하나를 제공하는 경향 느낀다면, 그것은 것입니다 판단에 도움이됩니다.
- 구문 상 고유하게 유지되는 한 원하는만큼 반복을 생성 할 수 있습니다. (점수가 더 도움이 될 것입니다. 아래를 참조하십시오.)
점수
최종 점수는 모든 프로그램의 평균 길이를 프로그램 수로 나눈 값입니다.
예 1 :
A (B 소스) = 50 자
B (A 소스) = 75 자
최종 점수 = 31.25
예 2 :
A (B 소스) = 50 자
B (C 소스) = 75 자
C (A 소스) = 100 자
최종 점수 = 25