Usando os 74 caracteres da sequência da cápsula do tempo de 2016
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
escreva trechos de código N, todos no mesmo idioma em que:
- O primeiro fragmento é gerado
1
. - O segundo fragmento é gerado
2
. - O terceiro trecho é exibido
3
. - ... etc ...
- O trecho N é o resultado
N
(o número, não a letra literal).
Um "snippet de código" é definido como qualquer um destes:
- Um programa completo sem entrada necessária que gera o número normalmente .
- Uma função sem argumentos necessários que gera / retorna o número normalmente .
- Uma expressão REPL que avalia o número.
Você pode misturar e combinar essas três variantes nos seus snippets N.
Os caracteres que você pode usar no conjunto combinado de N snippets são precisamente os 74 caracteres da cápsula do tempo, além de floor(N/2)
bytes extras "curinga" que você pode usar em qualquer lugar.
Por exemplo, a cápsula do tempo contém três @
, portanto, na totalidade de seus N snippets, pode haver apenas três @
presentes, a menos que você decida usar alguns de seus floor(N/2)
caracteres curinga para obter @
mais.
Portanto, sem contar caracteres curinga, o conjunto combinado de caracteres em seus N snippets deve ser um subconjunto dos 74 caracteres da cápsula do tempo. Seus comprimentos combinados não podem exceder 74. Você não pode reutilizar caracteres da cápsula do tempo ou bytes curinga entre os snippets.
Notas
Não existem outros limites no comprimento do trecho ou quantos curingas podem ser usados por trecho.
Você deve escrever todos os trechos de 1 a N. Não é 0 a N-1, nem k a N + k-1.
Os trechos devem ser individuais, não um trecho que produza a lista
1, 2, 3, ..., N
.As saídas podem ser flutuantes, como
3.0
no lugar de,3
e você pode usar uma base que não seja decimal se for a base natural do seu idioma . Você deve usar a mesma base para todos os trechos.Os curingas são contados como bytes na codificação do seu idioma . Provavelmente será ASCII, mas, por exemplo, se
∞
contar como um byte na sua codificação, você poderá usá-lo como um único byte curinga.Você pode usar bytes curinga para caracteres multibyte. por exemplo, normalmente
∞
tem três bytes, portanto você pode usá-lo em um trecho, mas custará três dos seus bytes curinga.floor(N/2)
Novas linhas , como
\r\n
podem ser consideradas um byte.
Exemplo
Em Python, N = 4 é possível apenas usando o REPL. Existem floor(4/2) = 2
curingas.
1
da cápsula do tempo é uma expressão que evals para1
.2
consiste em um único curinga, ou seja, o2
. Evals to2
.3
também consiste em um único curinga. Evals to3
. Não há mais curingas.4
é felizmente na cápsula do tempo e evals para4
.
Esses trechos são curtos e triviais. Uma resposta real provavelmente seria muito mais complexa.
(Cinco e mais além em Python certamente podem ser possíveis, mas deixarei para os profissionais.)
Pontuação
A resposta com o N mais alto ganha; ou seja, aquele que sobe mais alto na escada inteira.
Em caso de empate, a resposta que usou o menor número de bytes curinga vence.
Caso ainda haja um empate, a resposta que usou o menor número de caracteres acumulados vence.
Se ainda houver um empate, a resposta anterior vence.
07
o mesmo que 7
?
-
nem n
...
4
um trecho válida que retorna 4, em versões antigas do Perl que não têm REPL?)