Cadena Time Capsule 2016: cobertura

8

Considere los 74 caracteres de la cadena de cápsula del tiempo 2016 (tenga en cuenta el espacio inicial):

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

Su tarea es escribir tantos programas como sea posible ( en el mismo idioma ) usando estos caracteres. La salida de cada programa no debe ser vacía. Cuando se consideran todos los programas y sus salidas, solo debe usar cada uno de los 74 caracteres anteriores no más de una vez.

Su puntaje está determinado por el número de programas que ha escrito, y la duración total de los programas es un desempate (la mayor duración gana).

Algunas reglas más:

  1. Cada programa debe terminar.
  2. Cada programa debe ser un programa completo y salir en un formato razonable.
  3. Toda la salida a STDERR se ignora.
  4. No puede ejecutar su programa con ningún indicador, excepto aquellos necesarios para ejecutar el programa. (Por ejemplo, una -ebandera que ejecuta la fuente del programa).
  5. Si el programa tiene una salida que no se puede suprimir, puede ignorarla al considerar la salida. (Por ejemplo, puede ignorar las nuevas líneas finales).
  6. Cada programa debe poder ejecutarse con stdin vacío.

Ejemplo

Si tuviera programas 4y T1~ese resultado 4y 9, respectivamente, serían, cuando se consideran juntos, serían:

44T1~9

Que puede verse como un subconjunto de la cadena de la cápsula. Sin embargo, si tuviera programas 4@|4y |e+ese resultado 4y f, respectivamente, serían:

4@|44|e+f

Y, dado que hay 3 4s, no es un subconjunto.

Conor O'Brien
fuente
1
¿Se puede ignorar ans = ..en la salida de MATLAB? Eso está permitido por defecto, excepto para desafíos como "Hola, mundo" y otros desafíos con un formato muy estricto.
Stewie Griffin
1
No se espera que los programas produzcan diferentes resultados, o sean diferentes ellos mismos, ¿verdad?
Fatalize
@StewieGriffin Sí, puedes, editaré para reflejar esto.
Conor O'Brien
@LuisMendo Cada programa debe poder ejecutarse con stdin vacío.
Conor O'Brien
@SparklePony No diría "absurdo".
Conor O'Brien

Respuestas:

2

PHP, 22 programas

Sí, entiendo que es un poco aburrido.

Programas (separados por una nueva línea):

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

Producto y programas combinados:

!!!!$$))))..44@@QQTT\\````````ee||||~~~~~~~~
Okx
fuente
Puede agregar Carrot a la lista (pero `` no
muestra
Y también lo hace $(esto obtiene la entrada del usuario). Entonces, en general, en Carrot, tiene 2 programas menos (elimine el de $ y \)
user41805
@Kritixi Lithos ¿Es compatible con 🥕?
Robert Fraser
@RobertFraser Todo lo que puedo ver es un cuadrado. Pero claro, lo emite si es el código. Puedes probarlo aquí
usuario41805
@KritixiLithos Eso es un emoji de zanahoria: emojipedia.org/emoji/%F0%9F%A5%95
Okx
5

Japt , 11 13 programas, duración 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 ~

Es terriblemente difícil encontrar una respuesta que no sea solo un literal de cadena y genere algo más que un número ...

Producto y programas combinados:

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

Creo que los tengo todos ...


Cuando se desnuda al mínimo:

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

Deja estos caracteres para futuros programas / productos:

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

Puede intercambiar dos de $, )o |por dos de cualquiera de los caracteres en los literales de nueve cadenas; es decir, dos de cualquiera de !.@Qe|~.

Además, usted puede operar el Qen el tercer programa de Ho O, y la Zde H, O, @, o {.

ETHproducciones
fuente
1

PowerShell , 2 programas, longitud 31

+!!($eefmpxy =9)

Pruébalo en línea!

Salidas 1.
Funciona estableciendo la variable $eefmpxyen 9, encapsulando eso en parens, tomando el Boolean-not !of that (que lo convierte en $False), luego el Boolean-not of that (que lo convierte en $True), luego se convierte como un entero con +, convirtiéndolo en 1. Eso queda en la tubería y la salida es implícita.


4*!$AHILOQQQTTZ

Pruébalo en línea!

Salidas 4.
Funciona inicializando la variable $AHILOQQQTTZal valor predeterminado de $null, el Booleano-no !de los cuales es $True. Eso se convierte implícitamente en un entero 1debido a la multiplicación de 4*, por lo que el resultado de 4se deja en la tubería y la salida es implícita.


Estamos realmente limitados en PowerShell para otras cosas, como si tuviéramos muchos caracteres |de canalización para canalizar comandos juntos, solo tenemos uno {y no }; demasiados )para el solitario (; la tecla de retroceso `se utiliza como un "marcador de continuación de línea" para interpretar varias líneas como una sola (utilizada para facilitar la lectura), pero no tenemos avance de línea; y los caracteres ~y ^están "Reservados para uso futuro" y, por lo tanto, arrojan un error de sintaxis cuando intenta utilizarlos. Entonces, la mayoría de los personajes son inútiles, lo cual es una pena.

Si bien el #personaje comienza un comentario (y todo después de que se ignora por completo), se siente engañoso usarlo de esa manera, por lo que no lo incluí anteriormente.

AdmBorkBork
fuente
0

Cardenal , 1 programa, duración 73

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

Salidas 1

Pruébalo en línea!

Cardinal solo puede tener 1 programa válido que haga cualquier cosa, ya que solo hay un 1%.

fəˈnɛtɪk
fuente
0

05AB1E , 4 programas, duración 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])

Producto y programas combinados

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