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 Tin 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 stehtTin 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.