Программа курса:
Внимание! Решать задачи может только авторизованный
пользователь. Пройдите регистрацию на сайте.
Задача 5: Преобразование римского числа в целое число
Римские числа представляются с помощью семи символов: I, V, X, L, C, D и M
, каждый из которых имеет определённое числовое значение.
Символы и их значения:
- I — 1
- V — 5
- X — 10
- L — 50
- C — 100
- D — 500
- M — 1000
Числа в римской системе записываются от самого большого к самому маленькому слева направо. Например:
- II = 2
- XII = 12 (X + II)
- XXVII = 27 (XX + V + II)
Однако существуют исключения, где меньший символ предшествует большему, и в этом случае значения вычитаются:
- IV = 4 (5 - 1)
- IX = 9 (10 - 1)
- XL = 40 (50 - 10)
- XC = 90 (100 - 10)
- CD = 400 (500 - 100)
- CM = 900 (1000 - 100)
Задача:
Вам нужно написать определение функции roman_to_int(s)
, которая должна принимать римский символ s
и возвращать его целочисленное представление.
Примеры:
- Ввод:
"III"
Вывод:3
Пояснение: III = 1 + 1 + 1 = 3. - Ввод:
"LVIII"
Вывод:58
Пояснение: L = 50, V = 5, III = 3. В сумме: 50 + 5 + 3 = 58. - Ввод:
"MCMXCIV"
Вывод:1994
Пояснение: M = 1000, CM = 900, XC = 90, IV = 4. В сумме: 1000 + 900 + 90 + 4 = 1994.