Треки
/
Clojure
Clojure
/
Вправи
/
Вісімкова система
Вісімкова система

Вісімкова система

Середня

Вказівки

Перетворіть вісімкове число, подане як рядок тексту (англ. string) (наприклад, «1735263»), на його десятковий еквівалент, використовуючи основні принципи (тобто ні, не можна використовувати вбудовані або зовнішні бібліотеки для виконання перетворення).

Реалізуйте перетворення вісімкового числа на десяткове. Отримавши вхідний рядок тексту у вісімковій системі, програма має видавати десяткові вихідні дані.

Примітка

  • Реалізуйте перетворення самостійно. Не використовуйте щось інше для виконання перетворення за вас.
  • Вважайте некоректні вхідні дані за вісімковий 0.

Про вісімкову систему (основа 8)

Десяткова система має основу 10.

Число 233 у десятковій системі числення можна подати як лінійну комбінацію степенів 10:

  • Крайня права цифра множиться на 10^0 = 1
  • Наступна цифра множиться на 10^1 = 10
  • ...
  • n-та цифра множиться на 10^(n-1).
  • Усі ці значення додаються.

Отже:

   233 # decimal
 = 2*10^2 + 3*10^1 + 3*10^0
 = 2*100  + 3*10   + 3*1

Вісімкова система схожа, але використовує степені 8 замість степенів 10.

Отже:

   233 # octal
 = 2*8^2 + 3*8^1 + 3*8^0
 = 2*64  + 3*8   + 3*1
 = 128   + 24    + 3
 = 155

Джерело

All of Computer ScienceПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Clojure Exercism

Час розпочати Вісімкова система?

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