Sequência da cápsula do tempo de 2016: cobertura

8

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:

  1. Cada programa deve terminar.
  2. Cada programa deve ser um programa completo e gerar um formato razoável.
  3. Toda a saída para STDERR é ignorada.
  4. Você não pode executar seu programa com nenhum sinalizador, exceto os necessários para executar o programa. (Por exemplo, um -esinalizador que executa a fonte do programa.)
  5. 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.)
  6. Cada programa deve poder ser executado com stdin vazio.

Exemplo

Se eu tivesse programas 4e T1~que produzissem 4e 9respectivamente, 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@|4e |e+que produzissem 4e frespectivamente, eles seriam:

4@|44|e+f

E, como existem 3 4s, não é um subconjunto.

Conor O'Brien
fonte
1
Pode ser desconsiderado 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.
Stewie Griffin 28/03
1
Não se espera que os programas produzam resultados diferentes ou sejam eles próprios diferentes, são?
Fatalize 28/03
@ StewieGriffin Sim, você pode, vou editar para refletir isso.
Conor O'Brien
@LuisMendo Cada programa deve poder ser executado com stdin vazio.
Conor O'Brien
@SparklePony Eu não diria "absurdo".
Conor O'Brien

Respostas:

2

PHP, 22 programas

Sim, eu entendo que é meio chato.

Programas (separados por uma nova linha):

!
!
$
)
)
.
4
@
Q
T
\
`
`
`
`
e
|
|
~
~
~
~

Produção e programas combinados:

!!!!$$))))..44@@QQTT\\````````ee||||~~~~~~~~
Okx
fonte
Você pode adicionar cenoura à lista (mas `` saídas nada)
user41805
E o mesmo acontece $(isso obtém a entrada do usuário). Assim, em tudo, na cenoura, você tem menos 2 programas (Retire a um por US $ e \)
user41805
@Kritixi Lithos Suporta 🥕?
Robert Fraser
@RobertFraser Tudo o que posso ver é um quadrado. Mas com certeza, ele será exibido se for o código. Você pode experimentá-lo aqui
user41805
@KritixiLithos Isso é um emoji de cenoura: emojipedia.org/emoji/%F0%9F%A5%95
Okx
5

Japt , 11 13 programas, comprimento 61

\x:#).&~L // outputs 9  (41 & ~100)
~T+~Tf)p  // outputs 4  ((~0 + ~floor(0)) ** 2)
$~Q$ *\~Z // outputs 1  (~'"' * ~0)
I%A^O||@{=!(Hmy))  // outputs 4  (64 % 10 ^ {} || function(X,Y,Z) { return function() { return ((U = !(H.m("y")))) } })
`!        // outputs !
`!        // outputs !
`.        // outputs .
`@        // outputs @
`Q        // outputs Q
`e        // outputs e
`|        // outputs |
`~        // outputs ~
`~        // outputs ~

É 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:

 !!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~

Eu acho que tenho todos eles ...


Quando despojado ao mínimo:

#)&~L
~T+~T)p
~Q*~Z
I%A
`!
`!
`.
`@
`Q
`e
`|
`~
`~

Deixa esses caracteres para futuros programas / saídas:

 !$$()).:=@HO\\^fmxy{||

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 Qno terceiro programa para Hou Oeo Zpara H, O, @, ou {.

ETHproductions
fonte
1

PowerShell , 2 programas, comprimento 31

+!!($eefmpxy =9)

Experimente online!

Saídas 1.
Obras ajustando a variável $eefmpxya 9, 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-a 1. Isso é deixado no pipeline e a produção está implícita.


4*!$AHILOQQQTTZ

Experimente online!

Saídas 4.
Funciona inicializando a variável $AHILOQQQTTZcom o padrão de $null, o Boolean-not !of qual é $True. Isso é convertido implicitamente em um número inteiro 1devido à multiplicação de 4*, portanto o resultado de 4é 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.

AdmBorkBork
fonte
0

Cardeal , 1 programa, comprimento 73

%#~~~~~~~~~!!!!!+=.*449eefmpxyAHLOQQQTTZ`````````@@@$$I\\^{|||| ())))&..:

Saídas 1

Experimente online!

O Cardinal pode ter apenas 1 programa válido que fará qualquer coisa, pois há apenas 1%.

fəˈnɛtɪk
fonte
0

05AB1E , 4 programas, comprimento 19

Programas

)O!            # outputs 1    fac(sum([]))
A`\            # outputs y    2nd_last(alphabet)
THf`x          # outputs 4    last_primefactor(int(10,16))*2
TL`\           # outputs 9    2nd_last(range[1 ... 10])

Produção e programas combinados

!)149AHLOTT\\```fxy
Emigna
fonte