En el lenguaje de programación que elija, escriba 95 programas, cada uno de los cuales generará uno diferente de los 95 caracteres ASCII imprimibles sin que ese carácter aparezca en ninguna parte del programa .
Por ejemplo, si su lenguaje era Python , su programa que genera el carácter P
podría ser
print(chr(80))
porque P
tiene el código ASCII 80. Este programa es válido porque P
nunca aparece en el código fuente. Sin embargo, para el programa que genera minúsculas p
, algo como
print(chr(112))
sería inválido porque, aunque se imprime p
, p
está presente en el código. Un programa válido podría ser
exec(chr(112)+'rint(chr(112))')
que imprime p
pero no contiene p
.
Su objetivo es hacer que cada uno de sus 95 programas sea lo más breve posible. Su puntaje es la suma de las longitudes de caracteres de todos sus programas.
Si por alguna razón no puede escribir programas válidos para algunos caracteres, puede marcar esos caracteres como "No se programó" o DNP , y omitir programas para ellos por completo. De esta forma, los lenguajes sintácticamente estrictos podrán competir.
La respuesta ganadora es la respuesta que tiene la puntuación más baja del conjunto de respuestas que tienen la menor cantidad de DNP.
Reglas
El código fuente de todos sus programas solo puede contener pestañas ASCII plus imprimibles y líneas nuevas, todos los cuales se cuentan como un carácter. (¡Porque en una codificación diferente sería fácil omitir caracteres que no existen!)
- Nota: Esta regla parece necesaria, pero hay muchos idiomas con diferentes codificaciones y estoy seguro de que sería genial ver las respuestas para ellos. Por lo tanto , puede romper esta regla , puede usar cualquier personaje que desee, pero luego su respuesta se vuelve no competitiva , no puede ganar.
Los programas deben ser reales, llenos programas , de acuerdo con las convenciones estándar de su lenguaje. Las funciones y los fragmentos REPL no están permitidos.
La salida de cada programa debe ir a stdout o la alternativa aceptada de su idioma.
Los programas no deben solicitar ni requerir aportes. (Si solicitar entradas es inherente a su idioma, está bien).
Los programas deben ser deterministas, finitos en tiempo de ejecución e independientes. por ejemplo, no debería importar si uno se ejecuta en una carpeta separada de los otros programas.
La salida de un programa debe ser el carácter ASCII imprimible preciso al que corresponde, opcionalmente seguido de una nueva línea final, nada más y nada menos.
Asegúrese de incluir información sobre los 95 (idealmente) programas en su respuesta, así como su puntaje y cualquier DNP. Usted no tiene que enumerar todos los programas que siguen un patrón simple como " , ...", pero asegúrese de que está seguro de que todos serían trabajar y que se añade su puntuación correctamente.print(chr(80))
print(chr(81))
print(chr(82))
Como referencia, aquí están los 95 ASCII imprimibles que sus programas deben generar:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0