Considere os 74 caracteres da sequência da cápsula do tempo de 2016 (observe o espaço à esquerda):
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
Sua tarefa é escrever o maior número possível de programas ( no mesmo idioma ) usando esses caracteres. A saída de cada programa não deve ser vazia. Quando todos os programas e suas saídas são considerados, ele deve usar apenas cada um dos 74 caracteres acima no máximo uma vez.
Sua pontuação é determinada pelo número de programas que você escreveu, com a duração total dos programas sendo um empate (o maior número de vitórias).
Mais algumas regras:
- Cada programa deve terminar.
- Cada programa deve ser um programa completo e gerar um formato razoável.
- Toda a saída para STDERR é ignorada.
- Você não pode executar seu programa com nenhum sinalizador, exceto os necessários para executar o programa. (Por exemplo, um
-e
sinalizador que executa a fonte do programa.) - Se o programa tiver uma saída que não possa ser suprimida, você poderá ignorar ao considerar a saída. (Por exemplo, você pode ignorar as novas linhas à direita.)
- Cada programa deve poder ser executado com stdin vazio.
Exemplo
Se eu tivesse programas 4
e T1~
que produzissem 4
e 9
respectivamente, eles, quando considerados juntos, seriam:
44T1~9
O que pode ser visto como um subconjunto da string da cápsula. No entanto, se eu tivesse programas 4@|4
e |e+
que produzissem 4
e f
respectivamente, eles seriam:
4@|44|e+f
E, como existem 3 4
s, não é um subconjunto.
fonte
ans = ..
na saída do MATLAB? Isso é permitido por padrão, exceto para desafios como "Olá, mundo" e outros desafios com um formato muito rigoroso.Respostas:
PHP, 22 programas
Sim, eu entendo que é meio chato.
Programas (separados por uma nova linha):
Produção e programas combinados:
fonte
$
(isso obtém a entrada do usuário). Assim, em tudo, na cenoura, você tem menos 2 programas (Retire a um por US $ e \)Japt ,
1113 programas, comprimento 61É muito difícil encontrar uma resposta que não seja apenas uma string literal e produz algo diferente de um número ...
Produção e programas combinados:
Eu acho que tenho todos eles ...
Quando despojado ao mínimo:
Deixa esses caracteres para futuros programas / saídas:
Você pode trocar dois de
$
,)
ou|
por dois de qualquer um dos caracteres das nove cadeias literais; isto é, dois de qualquer um!.@Qe|~
.Além disso, você pode trocar o
Q
no terceiro programa paraH
ouO
eoZ
paraH
,O
,@
, ou{
.fonte
PowerShell , 2 programas, comprimento 31
Experimente online!
Saídas
1
.Obras ajustando a variável
$eefmpxy
a9
, encapsulando que em parênteses, tendo o booleana-não!
do que (que transforma a$False
), então o booleana-não do que (que transforma a$True
), em seguida, molda como um número inteiro com+
, transformando-a1
. Isso é deixado no pipeline e a produção está implícita.Experimente online!
Saídas
4
.Funciona inicializando a variável
$AHILOQQQTTZ
com o padrão de$null
, o Boolean-not!
of qual é$True
. Isso é convertido implicitamente em um número inteiro1
devido à multiplicação de4*
, portanto o resultado de4
é deixado no pipeline e a saída é implícita.Nós somos realmente limitados no PowerShell para outras coisas, como se tivéssemos muitos caracteres
|
de canal para comandos de pipeline juntos, só temos um{
e não}
; muitos)
para o solitário(
; o backtick`
é usado como um "marcador de continuação de linha" para interpretar várias linhas como uma (usada para facilitar a leitura), mas não temos feed de linha para acompanhá-lo; e os caracteres~
e^
são "Reservados para uso futuro" e, portanto, lançam um erro de sintaxe ao tentar usá-los. Então, a maioria dos personagens é inútil, o que é uma pena.Enquanto o
#
personagem inicia um comentário (e tudo depois de ser completamente ignorado), parece barato usá-lo dessa maneira, então não o incluí acima.fonte
Cardeal , 1 programa, comprimento 73
Saídas 1
Experimente online!
O Cardinal pode ter apenas 1 programa válido que fará qualquer coisa, pois há apenas 1%.
fonte
05AB1E , 4 programas, comprimento 19
Programas
Produção e programas combinados
fonte