Scrivi un programma o una funzione che, dato un numero intero positivo come input, genera la rappresentazione di quel numero intero in numeri Maya .
Numeri Maya
I numeri Maya sono un sistema vigesimale (base 20) che utilizza solo 3 simboli:
< >
per Zero (il simbolo corretto è una sorta di shell che non può essere facilmente rappresentata usando ASCII)..
per Uno----
per cinque
I numeri sono scritti verticalmente con potenze di 20, e i numeri tra 0 e 19 sono scritti come pile di cinque e uno . Far riferimento all'articolo di Wikipedia per maggiori dettagli.
Ad esempio, ecco i numeri tra 0 e 25, separati da virgole:
. .. ... ....
. .. ... .... ---- ---- ---- ---- ---- . . . . . .
. .. ... .... ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
< >, . , .. ,... ,....,----,----,----,----,----,----,----,----,----,----,----,----,----,----,----,< >, . , .. ,... ,....,----
ingressi
- Gli ingressi sono sempre numeri interi positivi compresi tra 0 e 2147483647 (2 ^ 31 - 1).
- È possibile prendere l'input da STDIN, come argomento della riga di comando, parametro della funzione o qualcosa di simile.
Uscite
- Ogni riga è lunga al massimo 4 caratteri.
< >
e----
dovrebbe essere sempre stampato come indicato qui (lungo 4 caratteri ciascuno). - Uno (
.
) deve essere centrato sulla linea. Se ce ne sono 1 o 3.
, poiché è impossibile un perfetto allineamento orizzontale, non importa se sono una colonna a sinistra o una colonna a destra o al centro. Ci deve essere esattamente una linea vuota tra potenze diverse di 20, indipendentemente dall'altezza delle pile nella potenza di 20s. Ad esempio, l'output corretto per 25 e 30 sono:
. . ---- ---- ----
Non sono consentite linee iniziali o finali.
Gli output devono essere stampati esattamente come negli esempi forniti.
Casi test
Ogni singolo numero compreso tra 0 e 25 fornito come esempio sopra.
Ingresso:
42
Produzione:
..
..
- Ingresso:
8000
Produzione:
.
< >
< >
< >
- Ingresso:
8080
Produzione:
.
< >
....
< >
- ingresso:
123456789
Produzione:
.
...
----
----
----
.
----
----
..
----
----
.
....
----
----
----
....
----
- Ingresso:
31415
Produzione:
...
...
----
----
----
----
----
----
----
----
- Ingresso:
2147483647
Produzione:
.
...
----
----
.
----
----
.
----
----
----
....
----
..
..
----
punteggio
Questo è code-golf , quindi vince il codice più breve in byte.