Треки
/
Delphi Pascal
Delphi Pascal
/
Вправи
/
Таємне рукостискання
Таємне рукостискання

Таємне рукостискання

Легка

Вступ

Ми разом із друзями та друзями друзів засновуємо таємний клуб програмування. Не всі знайомі одне з одним, тож ми вирішили створити таємне рукостискання, за допомогою якого можна впізнати, що людина належить до клубу. Ми не хочемо, щоб хтось необізнаний зміг розгадати цей шифр.

Ми придумали його так, що одна людина називає число від 1 до 31, а інша перетворює його на послідовність дій.

Вказівки

Перетворіть число від 1 до 31 на послідовність дій у таємному рукостисканні.

Послідовність дій ми визначаємо, дивлячись на п'ять найправіших цифр числа після перетворення його в двійкову форму. Почнімо з найправішої цифри й рухаймося ліворуч.

Дії для кожного розряду числа такі:

00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.

Розгляньмо число 9 як приклад:

  • Число 9 у двійковій системі - це 1001.
  • Цифра, що найдалі праворуч, - 1, тому перша дія - wink.
  • Рухаючись ліворуч, наступна цифра - 0, тому double-blink немає.
  • Знову рухаючись ліворуч, наступна цифра - 0, тому очі залишаються розплющеними.
  • Знову рухаючись ліворуч, наступна цифра - 1, тому ми робимо jump.

Це була остання цифра, тому кінцевий код такий:

wink, jump

Для числа 26, яке в двійковій системі дорівнює 11010, ми отримуємо такі дії:

  • double blink
  • jump
  • зворотний порядок дій

Отже, таємне рукостискання для 26 таке:

jump, double blink
Note

Якщо ми не впевнені, що таке двійкова система або як вона працює, перегляньмо [цей підручник з двійкової системи][intro-to-binary]. [intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa


Джерело

Берт, у Mary PoppinsПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Delphi Pascal Exercism

Час розпочати Таємне рукостискання?

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