Напишіть програму, яка приймає за свій вхід рядок, що складається з символів для друку (ASCII 20-7E) та цілого числа n
в [2,16] і виконує наступні зміни в рядку.
- Кожен символ у рядку перетворюється у його ASCII-код (приклади, наведені у шістнадцятковій формі, хоча база 10 також прийнятна).
- Коди ASCII перетворюються на базові
n
і об'єднуються разом. - Новий рядок розділений усіма іншими символами. Якщо є непарна кількість символів, то останній символ повністю видаляється.
- Друкуючі коди ASCII (у базі 16) перетворюються назад у їхні символи, тоді як коди ASCII, що не друкуються, видаляються.
- Отриманий рядок друкується.
Тестовий випадок
Вхідні дані
Hello, World!
6
Кроки
Hello, World!
48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
2002453003003031125222330331030024453
20 02 45 30 03 00 30 31 12 52 22 33 03 31 03 00 24 45
Вихід цієї програми є E001R"31$E
.
Це кодовий гольф, тому застосовуються стандартні правила. Виграє найкоротший код у байтах.
7
, рядок проходив J
би через кроки J
-> 50
-> 101
-> 10
-> (no output)
, як і рядок K
або L
.
H
ASCII 72 (десятковий) або 48 (шістнадцятковий), але те, що мені потрібно, - 200 (основа 6). Весь рядок 2 у прикладі, на мій погляд, марний і заплутаний