Hace aproximadamente un año, el 31 de diciembre de 2015, tuve la idea de que:
Doorknob recogió gentilmente personajes de la comunidad PPCG y los mantuvo a salvo durante un año.
¡ Participaron 74 personas, por lo que tenemos 74 personajes ASCII imprimibles para jugar!
Aquí están los 74 caracteres de la cadena de la cápsula del tiempo 2016 en el orden en que fueron enviados:
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
Aquí están los 74 caracteres de la cadena de la cápsula del tiempo 2016 en orden ASCII (observe el espacio inicial):
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
No es mucho para trabajar, pero por aquí nos gusta un desafío.
El reto
Para determinar qué idioma es el "mejor" con la cadena de la cápsula del tiempo tendremos 6 (para 201 6 ) desafíos que aumentan en dificultad, donde en cada uno debe usar un subconjunto de los 74 caracteres de la cápsula del tiempo.
Tener 6 desafíos distintos ayuda a garantizar que más idiomas puedan competir, pero solo los mejores idiomas podrán responder a todos y obtener una puntuación alta.
Puntuación:
- Cada desafío se puntuará de 0 a 74 dependiendo de cuántos personajes se usen.
- Los puntajes más altos son mejores.
- Si su idioma no puede completar un desafío, su puntaje para ese desafío es 0.
- Se puede completar cualquier subconjunto no vacío de los desafíos.
- Su puntaje final es la suma de los puntajes de los 6 desafíos.
- El mejor puntaje final posible es 6 × 74 o 444 .
Los desafios
1. Ejecutar
Si el código de un idioma no puede ejecutarse en primer lugar, no podrá hacer nada en absoluto.
Escriba el programa completo más largo posible (usando solo los 74 caracteres de la cápsula del tiempo, recuerde) que se ejecuta / ejecuta sin errores de tiempo de compilación o tiempo de ejecución.
No importa lo que haga el programa, no importa si tiene entrada / salida o entra en un bucle infinito, solo importa que se ejecute sin errores. (Las advertencias están bien, al igual que los errores causados por una entrada incorrecta del usuario).
Se permiten comentarios, por lo que esto podría ser tan simple como
#H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
en Python para un puntaje de 74.
(No tenga miedo de responder si este es el único desafío que su idioma puede completar, pero tampoco espere muchos votos).
Puntuación = duración del programa (un programa más largo es mejor)
2. E / S
Un lenguaje que no tiene forma de entrada o salida es casi tan inútil como uno que no se puede ejecutar.
Dado un carácter ASCII imprimible de !
(0x33) a }
(0x7D) inclusive, genera el carácter ASCII imprimible antes y después.
La salida puede ser una longitud de dos cadenas o listas, o los caracteres separados por un espacio o una nueva línea.
Por ejemplo, si la entrada es }
la salida podría ser |~
o ["|", "~"]
o | ~
o |\n~
.
Del mismo modo, "
es la salida para !
y AC
es la salida para B
.
Puntuación = 74 - duración del programa (un programa más corto es mejor)
3. Branchability
Los condicionales son a menudo un requisito para la integridad de Turing , que a menudo es un requisito para que un idioma sea útil.
Dado un número entero positivo, si termina en los dígitos decimales 16
a continuación, cambiar el 6
a una 7
y la salida el resultado; de lo contrario, envíe la entrada sin cambios. Puede usar cadenas para entrada / salida si lo prefiere.
Ejemplos:
2016 -> 2017
16 -> 17
116 -> 117
1616 -> 1617
6 -> 6
15 -> 15
17 -> 17
106 -> 106
2106 -> 2106
Puntuación = 74 - duración del programa (un programa más corto es mejor)
4. Loopabilidad
Un lenguaje que no puede hacer bucles generará código repetitivo tan tedioso que necesitará tomar un descanso de programación por un tiempo.
Dado un número entero positivo, genera un cuadrado de arte ASCII de esa longitud lateral lleno de un patrón de cuadrados concéntricos más pequeños que alterna entre dos caracteres ASCII imprimibles distintos . No tienen que ser los mismos dos caracteres para diferentes entradas.
Por ejemplo:
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
Puntuación = 74 - duración del programa (un programa más corto es mejor)
5. Matemáticas
Un lenguaje que no es bueno con los números y las matemáticas también podría ser para las carreras de humanidades.
No tome más datos que los 72 divisores enteros de 2016 , positivos y negativos, en cualquier orden. La salida se puede formatear como una cadena o lista de manera razonable.
Ejemplo:
-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
Puntuación = 74 - duración del programa (un programa más corto es mejor)
6. Esoterismo
(No, eso no .) En PPCG nos gustan nuestras cosas esotéricas , y las quines son un buen ejemplo de eso.
Escriba la quine más larga que pueda, de acuerdo con las reglas habituales de quine . Un quine es un programa que no toma entrada y sale por sí mismo.
Puntuación = duración del programa (un programa más largo es mejor)
Reglas especificas
- En cada uno de los 6 desafíos, su programa debe ser un subconjunto de los 74 caracteres de la cápsula del tiempo reorganizados de la forma que desee. Puede ser un subconjunto vacío o un subconjunto incorrecto , por lo que cada uno de sus programas podría tener tan solo 0 y hasta 74 caracteres.
- Una nueva línea final al final de entrada / salida / código está bien en cualquier lugar ya que algunos idiomas requieren esto o no se puede evitar fácilmente.
- A menos que se especifique lo contrario, cada desafío se puede completar como una función o un programa completo de acuerdo con nuestros valores predeterminados .
- Todos los desafíos deben completarse en el mismo idioma.
- Debe usar un idioma (o versión de un idioma) creado antes de 2017 en cualquier lugar de la Tierra .
- Cualquiera puede responder, ya sea que haya agregado un personaje a la cápsula del tiempo o no.
Siéntase libre de usar los personajes de la cápsula del tiempo 2016 en sus propios desafíos.
6×74 or 444
no es posible, ya que eso significaría programas vacíos, que de alguna manera se comportan de manera diferente. por lo tanto, 442 es el mínimo real, ya que eso significa que dos de los 3 programas de entrada tienen un carácter