Tracks
/
Go
Go
/
Übungen
/
All Your Base
All Your Base

All Your Base

Mittel

Einführung

Du wurdest gerade als Professor für Mathematik eingestellt. Deine erste Woche lief gut, aber in deiner zweiten Woche stimmt etwas nicht. Das Problem ist, dass jede Antwort deiner Studierenden falsch ist! Zum Glück hast du mit deinen Mathekenntnissen das Problem schnell gefunden: Die Antworten der Studierenden sind richtig, aber sie stehen alle im Zweiersystem (Binärsystem)! Erstaunlicherweise verwendet jede Woche eine andere Basis. Damit du die Antworten deiner Studierenden schnell überprüfen kannst, baust du ein Tool, das Zahlen zwischen verschiedenen Basen umrechnet.

Anleitung

Wandle eine Ziffernfolge in einer Basis, die eine Zahl darstellt, in eine Ziffernfolge in einer anderen Basis um, die dieselbe Zahl darstellt.

Note

Versuche, die Umwandlung selbst zu implementieren. Verwende nichts anderes, um die Umwandlung für dich durchzuführen.

Über Positionsnotation

In der Positionsnotation lässt sich eine Zahl zur Basis b als Linearkombination von Potenzen von b verstehen.

Die Zahl 42, zur Basis 10, bedeutet:

(4 × 10¹) + (2 × 10⁰)

Die Zahl 101010, zur Basis 2, bedeutet:

(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)

Die Zahl 1120, zur Basis 3, bedeutet:

(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)

Ja. Diese drei Zahlen oben sind genau dieselben. Herzlichen Glückwunsch!

Implementierung

Annahmen:

  1. Null wird in Ausgaben immer als [0] dargestellt, nicht als [].
  2. In keinem anderen Fall enthalten Ausgaben führende Nullen.
  3. Eingaben dürfen führende Nullen enthalten.
  4. Eine leere Sequenz von Eingabeziffern gilt als Null und nicht als Fehler.

Behandle Problemfälle, indem du einen Fehler zurückgibst, dessen Error()-Methode eine der folgenden Meldungen zurückgibt:

  • input base must be >= 2
  • output base must be >= 2
  • all digits must satisfy 0 <= d < input base
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Go Exercism

Bereit, mit All Your Base zu starten?

Melde dich bei Exercism an, um Go mit 34 Konzepte165 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.