2016 타임 캡슐 문자열 에서 74 자 사용
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
다음과 같은 언어로 N 코드 스 니펫을 작성하십시오.
- 첫 번째 스 니펫 출력
1
. - 두 번째 스 니펫 출력
2
. - 세 번째 스 니펫 출력
3
. - ... 등 ...
- N 번째 스 니펫 출력
N
(리터럴 문자가 아닌 숫자).
"코드 스 니펫"은 다음 중 하나로 정의됩니다.
(N 스 니펫에서이 세 가지 변형을 혼합하여 사용할 수 있습니다.)
당신이 N 조각의 결합 된 세트에서 사용할 수있는 문자는 정확하게 타임 캡슐의 74 개 문자, 플러스 floor(N/2)
추가 "와일드 카드"는 바이트 어디서든 사용할 수있다.
예를 들어, 타임 캡슐에는 3이 포함되어 @
있으므로 N 스 니펫 전체에 와일드 카드 바이트 @
일부 floor(N/2)
를 추가 로 사용하기로 결정하지 않는 한 최대 3 개의 스 니펫이 존재할 수 있습니다 @
.
따라서 와일드 카드를 계산하지 않고 N 스 니펫의 결합 된 문자 세트는 74 개의 타임 캡슐 문자의 서브 세트 여야합니다. 결합 된 길이는 74를 초과 할 수 없습니다 . 스 니펫간에 시간 캡슐 문자 또는 와일드 카드 바이트를 재사용 할 수 없습니다.
노트
스 니펫 길이나 스니 펫당 사용할 수있는 와일드 카드 수에 대한 다른 제한은 없습니다.
1에서 N까지의 모든 스 니펫을 작성해야합니다 . k에서 N + k-1이 아니라 0에서 N-1이 아닙니다.
스 니펫은 목록을 출력하는 스 니펫이 아닌 개별이어야합니다
1, 2, 3, ..., N
.출력이
3.0
대신 플로트가 될 수 있으며3
, 언어의 자연 기반 인 경우 10이 아닌 다른 기본을 사용할 수 있습니다 . 모든 스 니펫에 동일한 기준을 사용해야합니다.와일드 카드는 언어 인코딩 에서 바이트로 계산됩니다 . 이것은 아마도 ASCII 일 것입니다. 예를 들어
∞
인코딩에서 1 바이트로 계산 되면 단일 와일드 카드 바이트로 사용할 수 있습니다.멀티 바이트 문자에 와일드 카드 바이트를 사용할 수 있습니다. 예를 들면
∞
이다 일반적으로 당신이 코드에서 사용할 수 있지만이 세 가지 비용 때문에 3 바이트floor(N/2)
와일드 카드 바이트.같은 줄 바꿈
\r\n
은 1 바이트로 간주 될 수 있습니다.
예
파이썬에서는 REPL을 사용하여 N = 4가 가능합니다. 있습니다 floor(4/2) = 2
와일드 카드.
1
시간 캡슐에서 ~로 바뀐 표현입니다1
.2
단일 와일드 카드, 즉로 구성됩니다2
. 에 평가2
.3
또한 단일 와일드 카드로 구성됩니다. 에 평가3
. 더 이상 와일드 카드가 없습니다.4
운 좋게 시간 캡슐에 있고 그것은 사라진다4
.
이 스 니펫은 짧고 사소합니다. 실제 답변은 훨씬 더 복잡 할 것입니다.
(파이썬에서 5 번 이상은 가능하지만 전문가에게 맡기겠습니다.)
채점
N이 가장 높은 답이 이깁니다. 즉, 정수 사다리를 가장 높이 올라가는 것.
동점 일 경우 가장 적은 와일드 카드 바이트를 사용한 답이 이깁니다.
여전히 동점이 있다면, 가장 적은 누적 문자를 사용한 답이 이깁니다. 여전히 동점
이 있다면 , 이전 답변이 우선합니다.
07
은 동일 7
?
-
나 n
...
4
REPL이없는 이전 버전의 Perl에서 4를 반환하는 유효한 스 니펫입니까?)