Há cerca de um ano, em 31 de dezembro de 2015, tive a ideia de que:
A maçaneta da porta coletou graciosamente os personagens da comunidade PPCG e os manteve em segurança por um ano.
Uma gritante 74 pessoas participaram por isso temos um spiffing 74 impressão ASCII personagens para jogar!
Aqui estão os 74 caracteres da sequência da cápsula do tempo de 2016 na ordem em que foram enviados:
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
Aqui estão os 74 caracteres da sequência da cápsula do tempo de 2016 em ordem ASCII (observe o espaço à esquerda):
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
Não é muito para trabalhar, mas por aqui gostamos de um desafio.
O desafio
Para determinar qual idioma é "melhor" com a sequência da cápsula do tempo, teremos 6 (para 201 6 ) desafios que aumentam em dificuldade em que em cada um você deve usar um subconjunto dos 74 caracteres da cápsula do tempo.
Ter 6 desafios distintos ajuda a garantir que mais idiomas possam competir, mas apenas os melhores idiomas poderão responder a todos e obter uma pontuação alta.
Pontuação:
- Cada desafio será pontuado de 0 a 74, dependendo de quantos caracteres são usados.
- Pontuações mais altas são melhores.
- Se o seu idioma não conseguir concluir um desafio, sua pontuação nesse desafio será 0.
- Qualquer subconjunto não vazio dos desafios pode ser concluído.
- Sua pontuação final é a soma das pontuações de todos os 6 desafios.
- A melhor pontuação final possível é 6 × 74 ou 444 .
Os desafios
1. Corra
Se o código de um idioma não puder ser executado em primeiro lugar, ele não poderá fazer nada.
Escreva o programa completo mais longo possível (usando apenas os 74 caracteres de cápsula do tempo, lembre-se) que é executado / executado sem erros de tempo de compilação ou tempo de execução.
Não importa o que o programa faça, não importa se tem entrada / saída ou entra em um loop infinito, apenas importa que seja executado sem erros. (Os avisos são válidos, assim como os erros causados por uma entrada incorreta do usuário.)
Comentários são permitidos, portanto, isso pode ser tão simples quanto
#H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
em Python para uma pontuação de 74.
(Não tenha medo de responder se esse é o único desafio que seu idioma pode completar, mas também não espere muitos votos.)
Pontuação = duração do programa (programa mais longo é melhor)
2. E / S
Um idioma que não tem forma de entrada ou saída é quase tão inútil quanto um que não pode ser executado.
Dado um caractere ASCII imprimível de !
(0x33) a }
(0x7D) inclusive, produza o caractere ASCII imprimível antes e depois dele.
A saída pode ter um comprimento de duas cadeias ou lista ou os caracteres separados por um espaço ou nova linha.
Por exemplo, se a entrada for }
a saída, pode ser |~
ou ["|", "~"]
ou | ~
ou |\n~
.
Da mesma forma, "
é a saída para !
e AC
é a saída para B
.
Pontuação = 74 - duração do programa (programa mais curto é melhor)
3. Ramificabilidade
Condicionais são frequentemente um requisito para a integridade de Turing , que geralmente é um requisito para um idioma ser útil.
Dado um número inteiro positivo, se ele terminar com os dígitos decimais 16
, altere 6
para a 7
e produza o resultado; caso contrário, envie a entrada inalterada. Você pode usar seqüências de caracteres para entrada / saída, se preferir.
Exemplos:
2016 -> 2017
16 -> 17
116 -> 117
1616 -> 1617
6 -> 6
15 -> 15
17 -> 17
106 -> 106
2106 -> 2106
Pontuação = 74 - duração do programa (programa mais curto é melhor)
4. Loopability
Uma linguagem que não pode executar loops gerará código repetitivo tão tedioso que você precisará fazer uma pausa na programação por um tempo.
Dado um número inteiro positivo, imprima um quadrado da arte ASCII desse comprimento lateral preenchido com um padrão de quadrados concêntricos menores que alterna entre dois caracteres ASCII imprimíveis distintos . Eles não precisam ter os mesmos dois caracteres para entradas diferentes.
Por exemplo:
1 <- input
X <- output
2
XX
XX
3
XXX
X-X
XXX
4
XXXX
X--X
X--X
XXXX
5
YYYYY
Y...Y
Y.Y.Y
Y...Y
YYYYY
6
XXXXXX
X----X
X-XX-X
X-XX-X
X----X
XXXXXX
7
ZZZZZZZ
Z-----Z
Z-ZZZ-Z
Z-Z-Z-Z
Z-ZZZ-Z
Z-----Z
ZZZZZZZ
Pontuação = 74 - duração do programa (programa mais curto é melhor)
5. Math
Uma linguagem que não é boa com números e matemática também pode ser para os cursos de humanidades.
Não aceite nada, mas produza os 72 divisores inteiros de 2016 , positivos e negativos, em qualquer ordem. A saída pode ser formatada como uma sequência ou lista de uma maneira razoável.
Exemplo:
-1, -2, -3, -4, -6, -7, -8, -9, -12, -14, -16, -18, -21, -24, -28, -32, -36, -42, -48, -56, -63, -72, -84, -96, -112, -126, -144, -168, -224, -252, -288, -336, -504, -672, -1008, -2016, 1, 2, 3, 4, 6, 7, 8, 9, 12, 14, 16, 18, 21, 24, 28, 32, 36, 42, 48, 56, 63, 72, 84, 96, 112, 126, 144, 168, 224, 252, 288, 336, 504, 672, 1008, 2016
Pontuação = 74 - duração do programa (programa mais curto é melhor)
6. Esoterismo
(Não, não é isso .) Nós da PPCG gostamos de nossas coisas esotéricas , e os quines são um bom exemplo disso.
Escreva o quine mais longo possível, de acordo com as regras usuais do quine . Um quine é um programa que não recebe entrada e sai por si mesmo.
Pontuação = duração do programa (programa mais longo é melhor)
Regras Específicas
- Em cada um dos 6 desafios, seu programa deve ser um subconjunto dos 74 caracteres da cápsula do tempo reorganizados da maneira que desejar. Pode ser um subconjunto vazio ou impróprio , portanto, cada um dos seus programas pode ter até 0 e 74 caracteres.
- Uma única nova linha final no final da entrada / saída / código está correta em qualquer lugar, pois alguns idiomas exigem isso ou não podem ser facilmente evitados.
- Salvo especificação em contrário, cada desafio pode ser concluído como uma função ou programa completo de acordo com nossos padrões .
- Todos os desafios devem ser concluídos no mesmo idioma.
- Você deve usar um idioma (ou versão de um idioma) criado antes de 2017 em qualquer lugar da Terra .
- Qualquer pessoa pode responder, independentemente de você ter adicionado um personagem à cápsula do tempo ou não.
Sinta-se livre para usar os personagens da cápsula do tempo de 2016 em seus próprios desafios.
6×74 or 444
não é possível, pois isso significaria programas vazios, que de alguma forma se comportam de maneira diferente. Assim, 442 é o mínimo real, pois isso significa que dois dos 3 programas de entrada levando tem um char neles