Входные данные:
Целое число
Выход:
- Сначала преобразуйте целое число в его эквивалент римской цифрой.
- Затем преобразуйте каждую заглавную букву этого римского числа в десятичное значение ASCII / UNICODE.
- И выведите сумму тех.
Пример:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
Римские цифры: Вот, возможно, полезный конвертер римских цифр.
Правила соревнований:
- Применяются стандартные правила римской цифры, поэтому нет альтернативных форм, таких как
IIII
илиVIIII
вместоIV
иIX
. * - Линии Макрона над римскими цифрами после 1000
¯
(Юникод № 175). Таким образом, одна строка считается как+175
и две как+350
. - Вам разрешено использовать любой тип ввода и вывода, если он представляет целые числа.
- Тестовые случаи будут в диапазоне
1 - 2,147,483,647
.
* Правила римских цифр (цитата из Википедии):
Числа формируются путем объединения символов и добавления значений,
II
равно как два (два) иXIII
тринадцать (десять и три). Поскольку каждая цифра имеет фиксированное значение, а не представляет собой кратные десять, сто и т. Д., В соответствии с положением, нет нужды в «хранении мест» нулей, как в числах, таких как 207 или 1066; эти числа записываются какCCVII
(две сотни, пять и два) иMLXVI
(тысяча, пятьдесят, десять, пять и один).Символы располагаются слева направо в порядке значения, начиная с наибольшего. Однако в некоторых конкретных случаях, чтобы избежать повторения четырех символов подряд (например,
IIII
илиXXXX
), вычитающая запись часто используется следующим образом:
I
ставится передV
илиX
указывает на один меньше, поэтому четыре - этоIV
(один меньше пяти), а девять -IX
(один меньше десяти)X
передL
илиC
указывает на десять меньше, поэтому сорокXL
(десять меньше пятидесяти) и девяностоXC
(десять меньше ста)C
помещается передD
илиM
указывает на сотню меньше, поэтому четыреста - этоCD
(сто меньше пятисот), а девятьсот - этоCM
(сто меньше тысячи).
Например,MCMIV
это одна тысяча девятьсот четыре, 1904 (M
это тысяча,CM
это девятьсотIV
четыреНекоторые примеры современного использования римских цифр включают в себя:
1954 какMCMLIV
; 1990 какMCMXC
; 2014 какMMXIV
ИСТОЧНИК
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с правильными параметрами, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Также, пожалуйста, добавьте объяснение, если это необходимо.
Тестовые случаи:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
-> M(X)CMXCIX
-> 77+263+67+77+88+67+73+88
-> 800
и 2147483647
-> ((MMCXLV)MMCDLXXX)MMMDCXLVII
-> 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
-> 5362
. Я исправил второе, но это 9999
было правильно.
2222222222
не находится в заданном диапазоне. Также я согласен с 5362
.