Треки
/
Go
Go
/
Вправи
/
All Your Base
All Your Base

All Your Base

Середня

Вступ

Нас щойно найняли на посаду професора математики. Перший тиждень минув добре, але на другому тижні щось не так. Проблема в тому, що кожна відповідь, яку дають наші студенти, неправильна! На щастя, наші математичні навички допомогли нам зрозуміти, у чому річ: відповіді студентів справді правильні, але всі вони записані в системі з основою 2 (двійковій)! Дивовижно, але виявляється, що кожного тижня студенти використовують іншу основу. Щоб допомогти собі швидко перевіряти відповіді студентів, ми створимо інструмент для переведення між основами.

Вказівки

Перетворіть послідовність цифр в одній системі числення, що представляє число, на послідовність цифр в іншій системі числення, що представляє те саме число.

Note

Спробуйте реалізувати перетворення самостійно. Не використовуйте щось інше, щоб виконати перетворення за вас.

Про позиційну систему числення

У позиційній системі числення число з основою b можна розуміти як лінійну комбінацію степенів b.

Число 42, у системі з основою 10, означає:

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

Число 101010, у системі з основою 2, означає:

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

Число 1120, у системі з основою 3, означає:

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

Так. Ці три числа вище позначають одне й те саме число. Вітаємо!

Реалізація

Припущення:

  1. Нуль у вихідних даних завжди позначається як [0], а не [].
  2. В усіх інших випадках провідних нулів у вихідних даних немає.
  3. Провідні нулі у вхідних даних приймаються.
  4. Порожня послідовність вхідних цифр вважається нулем, а не помилкою.

Обробляйте проблемні випадки, повертаючи помилку, метод Error() якої повертає одне з таких повідомлень:

  • input base must be >= 2
  • output base must be >= 2
  • all digits must satisfy 0 <= d < input base
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Go Exercism

Час розпочати All Your Base?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Go, а також 34 концепції165 вправ та справжнє наставництво від людей, і все це безкоштовно.