Ми все це зробили, ну, може, і ні, але створення власної чужорідної мови та системи нумерації є основним елементом особливо фантазійного написання, але в основному це лише розважальне заняття.
Завдання проста, візьміть два входи:
Впорядкований список введення 10 [десяти] унікальних "цифр" (будь-який друкований символ ASCII) та інтерпретувати їх у порядку як значення 0, 1, 2, 3, ..., 9
+ Є винятки з того, що тут може бути числом. Арифметичні оператори (+, -, *, /), дужки та пробіли не можна використовувати як одну з цифр.
Арифметична задача з використанням лише цих "цифр"
І вивести еквівалентне ціле число в заданій формі.
Ось приклад:
INPUT
abcdefghij
bcd + efg + hij
OUTPUT
bdgi
У прикладі списку введення (ви можете вибрати, у якій формі цей список входить) "abcdefghij" відповідає "0123456789" так само, як "hjkloiwdfp" також відповідатиме 1 до 1 "0123456789", де замість "a" асоціюється з нуль, 'h' робить. Арифметика, наступна за "перекладається" на 123 + 456 + 789, що дорівнює 1368. Потім це потрібно вивести у формі, яку ми надали, тому b (що являє собою 1) d (для 2) g (для 6) і i (для 8).
ТЕСТОВІ СЛУЧАИ
abcdefghij
abc + def - ghij
-gedc
qwertyuiop
qwerty / uiop
e
%y83l;[=9|
(83l * 9) + 8%
y9|8
БІЛЬШЕ ПРАВИЛА
- Стандартні лазівки заборонені!
- Це кодовий гольф, тому найкоротші відповіді в байтах виграють.
- Повинно бути повноцінною програмою або функцією, яка приймає входи та виходи в будь-якому форматі, який найкраще підходить для вас. (Просто не можна додавати додаткову інформацію у вхідні дані, просто "цифри" та вираз.
- Користуйтеся будь-якою мовою (доки вона відповідає іншим правилам)
1для 5/3, ні 2, завдяки цілому поділу (не округленню). Це не скасовує виклик, але, можливо, доведеться дозволити різні прийнятні відповіді для одного тестового випадку (див. Мою відповідь T-SQL нижче).
q.ioiopewioyetqorw.... Якщо так, то яке закруглення слід застосувати?