Schreiben Sie ein Programm oder eine Funktion, die bei einer positiven Ganzzahl als Eingabe die Darstellung dieser Ganzzahl in Mayazahlen ausgibt .
Maya-Ziffern
Maya-Ziffern sind ein Vigesimalsystem (Basis 20) mit nur 3 Symbolen:
< >
für Null (Das richtige Symbol ist eine Art Shell, die mit ASCII nicht einfach dargestellt werden kann)..
für einen----
für fünf
Zahlen werden vertikal in Potenzen von 20 geschrieben, und Zahlen zwischen 0 und 19 werden als Stapel von fünf und eins geschrieben . Weitere Informationen finden Sie im Wikipedia-Artikel .
Als Beispiel hier sind die Zahlen zwischen 0 und 25, getrennt durch Kommas:
. .. ... ....
. .. ... .... ---- ---- ---- ---- ---- . . . . . .
. .. ... .... ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
< >, . , .. ,... ,....,----,----,----,----,----,----,----,----,----,----,----,----,----,----,----,< >, . , .. ,... ,....,----
Eingänge
- Eingaben sind immer positive ganze Zahlen zwischen 0 und 2147483647 (2 ^ 31 - 1).
- Sie können die Eingabe von STDIN als Befehlszeilenargument, Funktionsparameter oder ähnliches verwenden.
Ausgänge
- Jede Zeile ist maximal 4 Zeichen lang.
< >
und----
sollte immer wie hier angegeben gedruckt werden (jeweils 4 Zeichen lang). - Ein (
.
) muss in der Linie zentriert sein. Wenn es 1 oder 3.
gibt, spielt es keine Rolle, ob es sich um eine Spalte links oder eine Spalte rechts oder eine Spalte in der Mitte handelt, da eine perfekte horizontale Ausrichtung nicht möglich ist. Es muss genau eine Leerzeile zwischen verschiedenen Potenzen von 20 stehen, unabhängig von der Höhe der Stapel in der Potenz von 20s. Die korrekte Ausgabe für 25 und 30 lautet beispielsweise:
. . ---- ---- ----
Keine führenden oder nachfolgenden Zeilen erlaubt.
Die Ausgaben müssen genau so gedruckt werden, wie sie in den Beispielen angegeben sind.
Testfälle
Jede einzelne Zahl zwischen 0 und 25 ist oben als Beispiel angegeben.
Eingang:
42
Ausgabe:
..
..
- Eingang:
8000
Ausgabe:
.
< >
< >
< >
- Eingang:
8080
Ausgabe:
.
< >
....
< >
- Eingang:
123456789
Ausgabe:
.
...
----
----
----
.
----
----
..
----
----
.
....
----
----
----
....
----
- Eingang:
31415
Ausgabe:
...
...
----
----
----
----
----
----
----
----
- Eingang:
2147483647
Ausgabe:
.
...
----
----
.
----
----
.
----
----
----
....
----
..
..
----
Wertung
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes.