Desafío
Dado un número natural, imprímalo en la forma ASCII del sistema de números de Agrippa.
Descripción
Me gustan los alfabetos impares y los sistemas numéricos. Mi sistema numérico favorito es uno dado por Heinrich Cornelius Agrippa . Da una forma sucinta de escribir números en el rango [0,9999], donde los dígitos individuales se escriben de la siguiente manera:
Los números más grandes son menos que 10^4una combinación de dígitos individuales, pero girado / reflejado horizontalmente en una sola barra central de la siguiente manera:
[0° mirrored, 10's ] | [0°, 1's ]
[180°, 1000's] | [180° mirrored, 100's]
Aquí están algunos ejemplos:
Los equivalentes ASCII son:
Ones:
0 1 2 3 4 5 6 7 8 9
| |- |_ |\ |/ |~ || |^ |v |]
| | | | | | | | | |
Tens:
0 1 2 3 4 5 6 7 8 9
| -| _| /| \| ~| || ^| v| [|
| | | | | | | | | |
Hundreds:
0 1 2 3 4 5 6 7 8 9
| | | | | | | | | |
| |_ |- |/ |\ |~ || |v |^ |]
Thousands:
0 1 2 3 4 5 6 7 8 9
| | | | | | | | | |
| _| -| \| /| ~| || v| ^| [|
1510: 1511: 1471: 1486: 3421:
-| -|- ^|- v|| _|-
_|~ _|~ _|\ -|\ \|\
Los números más grandes que 9999se dividen en secciones de 4 dígitos (con ceros iniciales agregados para obtener un múltiplo de cuatro) y cada uno se convierte. Por ejemplo:
314159: (0031 4159)
/|- ~|]
| /|_
Reglas
- Su respuesta puede ser una función o un programa completo
- La entrada es un entero positivo.
- Las entradas deben admitir entradas sobre
10^8 - Cada sección de cuatro dígitos tiene exactamente seis caracteres
- Las secciones de cuatro están separadas por un solo espacio.
- La nueva línea final es opcional
- Se permiten hasta dos espacios finales por línea
- No aceptaré mi propia respuesta.
- La puntuación está en bytes, ¡gana la puntuación más baja!
code-golf
ascii-art
kolmogorov-complexity
Michael Klein
fuente
fuente



Respuestas:
Haskell, 310 bytes
reverse(como lo hicer:) es un byte más corto que importarData.Listy usarlo solo una vezz=0:zy(!)=(!!).(++z)es el camino más corto que he encontrado para volver0fuera de límitestake4sfunción, pero todavía me parece mágicoAquí está el código:
Menos golfizado:
Pruebas (caracteres de escape eliminados):
fuente
Javascript (ES6),
180159 bytesDonde
\nrepresenta un carácter de nueva línea literal.Editar: actualizado para el cambio de
,'a|. Ahorró 14 bytes usando un soloreplacepara hacer todo el trabajo. Guardado 3 bytes usando en&-4lugar de<<2>>2. Se guardaron 2 bytes al abusar de la asignación de desestructuración. Ahorró 2 bytes al abusar de las cadenas de plantillas.fuente