Si crees que esto podría ser divertido, pero demasiado trabajo, considera participar en este desafío mucho más pequeño.
Un poco de diversión (¡y posiblemente frustración!) Para 2016 ... el "rompecabezas del año" de Dyalog . ¡Disfrutar!
El objetivo
Busque expresiones Dyalog APL ( descarga ) (se permiten otros idiomas, consulte Elegibilidad a continuación) que incluyen exactamente los dígitos 2 0 1 6 en ese orden para igualar los números del 0 al 100. Por ejemplo:
20=16
×2016
2⌊016
2+0+1*6
...
El objetivo es utilizar la menor cantidad de caracteres posible en cada expresión (el número mínimo de caracteres para una expresión es 5: los cuatro dígitos 2 0 1 6 y una única función / operador primitivo).
Las normas
- Cada expresión debe contener los dígitos 2 0 1 6 (en ese orden) y ningún otro dígito. Las constantes y variables preestablecidas tampoco están permitidas.
- Además de los cuatro dígitos 2 0 1 6, solo se pueden usar símbolos y nombres incorporados, paréntesis / llaves, espacios, signos menos altos y puntos decimales. Las expresiones resultantes deben ser deterministas (es decir, dar el mismo resultado en evaluaciones repetidas). Para los que no son APL, también se permiten funciones / operadores con un nombre; Las mismas reglas que aquí .
- Asuma todas las configuraciones predeterminadas para su idioma. Para Dyalog APL, esto significa
⎕ML
y⎕IO
son ambos 1 y⎕PP
es 10. - Cada entrada que comprenda expresiones correctas para todos los números del 0 al 100 inclusive se clasificará de acuerdo con el número de caracteres utilizados por esas expresiones excluyendo espacios redundantes (mínimo 505 para las 101 expresiones).
Elegibilidad
Cualquiera puede entrar. Puede responder en cualquier idioma, pero solo se considerarán las respuestas APL para aceptar. Si usa otro idioma que no sea APL, puede usar fragmentos, programas, funciones, etc. como alternativas a las expresiones, y puede imprimir, dejar el número en una ubicación de memoria accesible o devolver el resultado, siempre que su código sea directo evalúa el número deseado como cualquier tipo de datos numéricos estándar para su idioma.
Fecha de cierre
30 de noviembre de 2016.
Premios
- Que su respuesta sea aceptada
- ¡Sea inmortalizado en el Salón de la Fama 2016 de Dyalog!
Enviar su entrada
Después del 30 de noviembre de 2016, aceptaré la respuesta más breve y enviaré su respuesta, en su nombre, al Salón de la Fama de Dyalog 2016.
Preguntas más frecuentes
- ¿Está permitido
J
(por ejemplo, 37 =⌈⍟!20J16
)? - No: además de los cuatro dígitos 2 0 1 6, solo se pueden usar símbolos y nombres incorporados, paréntesis / llaves, espacios, signos negativos altos y puntos decimales.
- ¿Es aceptable la salida como una cadena?
- No: igual los números del 0 al 100.
- ¿Dígitos físicos o dígitos de datos?
- Dígitos de datos, según OP: las mismas reglas que aquí , donde contiene uno de los ejemplos
LOG10(
. - ¿Se
a+16+a←20
permite asignar variables y luego usarlas como parte de la expresión (por ejemplo, 56 = )? - Sí, pero no puede usar una asignación de una expresión en otra.
Tengo permiso explícito por escrito para publicar este desafío aquí del autor original de este desafío. Siéntase libre de verificar siguiendo el enlace provisto y contactando al autor. Le di al autor original del concurso el enlace a esta página en el momento en que lo publiqué, para que puedan verificar si presento la respuesta de alguien como mía.
⎕ML
y se ⎕IO
supone que es 1
)?