Escreva um programa ou função que, dado um número inteiro positivo como entrada, produza a representação desse número inteiro em números maias .
Números maias
Os números maias são um sistema vigesimal (base 20) usando apenas três símbolos:
< >
para zero (o símbolo correto é algum tipo de shell que não pode ser facilmente representado usando ASCII)..
para um----
para cinco
Os números são escritos verticalmente em potências de 20, e os números entre 0 e 19 são escritas como pilhas de cincos e aqueles . Você deve consultar o artigo da Wikipedia para obter mais detalhes.
Como exemplo, aqui estão os números entre 0 e 25, separados por vírgulas:
. .. ... ....
. .. ... .... ---- ---- ---- ---- ---- . . . . . .
. .. ... .... ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
< >, . , .. ,... ,....,----,----,----,----,----,----,----,----,----,----,----,----,----,----,----,< >, . , .. ,... ,....,----
Entradas
- As entradas sempre são números inteiros positivos entre 0 e 2147483647 (2 ^ 31 - 1).
- Você pode pegar a entrada do STDIN, como um argumento de linha de comando, parâmetro de função ou qualquer coisa semelhante.
Saídas
- Cada linha tem no máximo 4 caracteres.
< >
e----
sempre deve ser impresso como indicado aqui (4 caracteres cada). - Uns (
.
) devem estar centralizados na linha. Se houver 1 ou 3.
, como o alinhamento horizontal perfeito é impossível, não importa se são uma coluna à esquerda ou uma coluna à direita ou ao centro. Deve haver exatamente uma linha vazia entre diferentes potências de 20, independentemente da altura das pilhas na potência de 20s. Por exemplo, a saída correta para 25 e 30 é:
. . ---- ---- ----
Não são permitidas linhas iniciais ou finais.
As saídas devem ser impressas exatamente como estão nos exemplos fornecidos.
Casos de teste
Cada número individual entre 0 e 25 é dado como exemplo acima.
Entrada:
42
Saída:
..
..
- Entrada:
8000
Saída:
.
< >
< >
< >
- Entrada:
8080
Saída:
.
< >
....
< >
- entrada:
123456789
Saída:
.
...
----
----
----
.
----
----
..
----
----
.
....
----
----
----
....
----
- Entrada:
31415
Saída:
...
...
----
----
----
----
----
----
----
----
- Entrada:
2147483647
Saída:
.
...
----
----
.
----
----
.
----
----
----
....
----
..
..
----
Pontuação
Isso é código-golfe , então o código mais curto em bytes vence.