Ми разом із друзями та друзями друзів засновуємо таємний клуб програмування. Не всі знайомі одне з одним, тож ми вирішили створити таємне рукостискання, за допомогою якого можна впізнати, що людина належить до клубу. Ми не хочемо, щоб хтось необізнаний зміг розгадати цей шифр.
Ми придумали його так, що одна людина називає число від 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 як приклад:
1001.wink.Це була остання цифра, тож остаточний код такий:
wink, jump
Для числа 26, яке в двійковій системі має вигляд 11010, отримуємо такі дії:
Отже, таємне рукостискання для 26 таке:
jump, double blink
Якщо не зрозуміло, що таке двійкова система або як вона працює, перегляньте цей посібник із двійкової системи.
Виведіть послідовність дій як рядок тексту (англ. string), що завершується нульовим символом, використовуючи кому та пробіл як розділювачі.
| Регістр | Використання | Тип | Опис |
|---|---|---|---|
$a0 |
вхідні дані | ціле число | число від 1 до 31 |
$a1 |
вхідні/вихідні дані | адреса | вихідний рядок тексту, що завершується нульовим символом |
$t0-9 |
тимчасовий | будь-який | використовується для тимчасового зберігання |
Зареєструйтеся на Exercism, щоб вивчати й опановувати MIPS Assembly, а також 70 вправ та справжнє наставництво від людей, і все це безкоштовно.