Herausforderung
Geben Sie bei einer ASCII-Darstellung einer babylonischen Zahl als Eingabe die Zahl in arabischen Ziffern aus.
Babylonisches Zahlensystem
Wie haben die Babylonier gezählt? Interessanterweise verwendeten sie ein Base 60-System mit einem Element eines Base 10-Systems. Betrachten wir zunächst die Einheitenspalte des Systems:
Die Babylonier hatten nur drei Symbole: T
(oder, wenn Sie es rendern können:), 𒐕
die 1 repräsentierten, und <
(oder, wenn Sie es rendern können:), 𒌋
die 10 repräsentierten, und \
(oder, wenn Sie es rendern:), 𒑊
die Null repräsentierten.
Hinweis: Technisch gesehen ist \
(oder 𒑊
) nicht Null (weil die Babylonier keine Null hatten). 'Zero' wurde später erfunden, und \
ein Platzhaltersymbol wurde später hinzugefügt, um Mehrdeutigkeiten zu vermeiden. Für die Zwecke dieser Herausforderung ist es jedoch ausreichend, sie \
als Null zu betrachten
Also addieren Sie in jeder Spalte einfach den Wert der Symbole, zB:
<<< = 30
<<<<TTTTTT = 46
TTTTTTTTT = 9
\ = 0
Es werden niemals mehr als fünf <
oder mehr als neun T
in jeder Spalte sein. \
wird immer alleine in der Spalte angezeigt.
Jetzt müssen wir dies erweitern, um weitere Spalten hinzuzufügen. Dies funktioniert genauso wie bei jeder anderen Basis-Sechzig, bei der Sie den Wert der am weitesten rechts stehenden Spalte mit , den Wert links mit 60 1 , den Wert links mit 60 2 usw. multiplizieren . Sie addieren dann den Wert von jedem, um den Wert der Zahl zu erhalten.
Spalten werden durch Leerzeichen getrennt, um Mehrdeutigkeiten zu vermeiden.
Einige Beispiele:
<< <TT = 20*60 + 12*1 = 1212
<<<TT \ TTTT = 32*60^2 + 0*60 + 4*1 = 115204
Regeln
- Sie können entweder ASCII-Eingaben (
T<\
) oder Unicode-Eingaben (𒐕𒌋𒑊
) akzeptieren. - Die eingegebene Nummer liegt immer unter
- Das
<
s stehtT
in jeder Spalte immer links vom s \
wird immer alleine in einer Spalte angezeigt
Gewinnen
Kürzester Code in Bytes gewinnt.
<<<<TTTTTT <TTTTTTT <<<<TTTTTT <<<<
"How did the Babylonians count? Interestingly, they used a Base 60 system with an element of a Base 10 system."
Was heute noch in Gebrauch ist; Das babylonische Zahlensystem ist genau das, was wir für Uhren verwenden. Jeweils zwei Dezimalstellen für Sekunden, Minuten und Stunden, 60 Sekunden bis zur Minute, 60 Minuten bis zur Stunde.