Eingabe:
Eine Liste / ein Array von Ganzzahlen, für die sich jedes Element im Bereich von befindet 2-36
.
Ausgabe:
Die Summe der Ganzzahlen (als Basis 10), wobei sich jede nächste Ganzzahl in der Basis des vorherigen Werts befindet (beginnend mit einer regulären Basis 10).
Beispiel:
Nehmen wir an, wir haben eine Eingabe wie diese: [4, 12, 34, 20, 14, 6, 25, 13, 33]
Dann haben wir eine Summe wie diese:
4 (4 in base-10) +
6 (12 in base-4 ) +
40 (34 in base-12) +
68 (20 in base-34) +
24 (14 in base-20) +
6 (6 in base-14) +
17 (25 in base-6 ) +
28 (13 in base-26) +
42 (33 in base-13)
= 235
Erklärung der mathematischen Basis:
Ich dachte darüber nach, dass jeder weiß, wie die Basis funktioniert, aber ich werde trotzdem ein kurzes Beispiel dafür geben, wie es funktioniert, nur für den Fall. Nehmen34 in base-12
wir zum Beispiel, wie sind wir dazu gekommen40
?
1-34 in regular base-10:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34
So, from 1 to 34 is 34 steps in base-10
1-34 in base-12:
1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 30, 31, 32, 33, 34
So, from 1 to 34 is 40 steps in base-12
Hier ist vielleicht ein nützlicher Rechner.
Herausforderungsregeln:
- Die Array-Größe wird in einem angemessenen Bereich liegen (
1-100
siehe Testfälle). - Die Testfälle werden niemals ganze Zahlen enthalten, deren aktueller Wert für die vorherige Basis ungültig ist (dh Sie werden niemals so etwas wie
19 in base-6
oder haben6 in base-6
, weil base-6 nur die Ziffern enthält0-5
). - Sie können die Eingabe nach Belieben übernehmen. Kann als Int-Array, als durch Komma / Leerzeichen getrennte Zeichenfolge usw. sein. Ihr Aufruf. (Sie können das Int-Array auch umgekehrt verwenden, was für Stack-basierte Programmiersprachen nützlich sein kann.)
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit anderen Sprachen als Golf zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methode mit den richtigen Parametern und vollständige Programme verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Fügen Sie ggf. auch eine Erklärung hinzu.
Testfälle:
[4, 12, 34, 20, 14, 6, 25, 13, 33] -> 235
4+ 6+ 40+ 68+ 24+ 6+ 17+ 28+ 42
[5, 14, 2, 11, 30, 18] -> 90
5+ 9+ 2+ 3+ 33+ 38
[12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 12, 2, 11, 3, 10, 2, 10] -> 98
12+ 13+ 11+ 9+ 8+ 7+ 6+ 5+ 4+ 3+ 5+ 2+ 3+ 3+ 3+ 2+ 2
[36, 36] -> 150
36+ 114