55 lines
3.0 KiB
Markdown
55 lines
3.0 KiB
Markdown
# Римские арифметические выражения
|
||
* Городская Олимпиада Молдовы по информатике
|
||
* Год: 2022
|
||
* Класс: 12
|
||
* Задача: 2
|
||
|
||
В римской системе счисления используется 7 цифр, представленные следующими буквами латинского алфавита: I, V, X, L, C, D и M. В детсятичной системе рассматриваемые цифры имеют следующие значения:\
|
||
`I - 1`\
|
||
`V - 5`\
|
||
`X - 10`\
|
||
`L - 50`\
|
||
`C - 100`\
|
||
`D - 500`\
|
||
`M - 1000`
|
||
|
||
Напоминаем, что римская система счисления является непозиционной. Число, записанное в римской системе, читается слева направо. Десятичное значение числа определяется путем суммирования отдельных десятичных значений каждой из цифр, если только текущая цифра не предшествует цифре с более высоким значением. В этом случае десятичное значение текущей цифры вычитается из десятичного значения следующей цифры.\
|
||
Примеры:
|
||
|
||
`X - 10`\
|
||
`IX - 9`\
|
||
`XIII - 13`\
|
||
`XIV - 14`\
|
||
`MMCIX - 2109`\
|
||
`MMXXII - 2022`
|
||
|
||
|
||
# Задание
|
||
Напишите программу для вычисления десятичного значения римских арифметических выражений.
|
||
|
||
# Входные данные
|
||
Файл `expresii.in` содержит в единственной строке римское арифметическое выражение.
|
||
|
||
# Выходные данные.
|
||
Файл `expresii.out` должен содержать в единственной строке целое число – значение римского арифметического выражения из входного файла, записанное в десятичной системе счисления.
|
||
|
||
# Ограничения.
|
||
* Абсолютное десятичное значение римского арифметического выражения из входного файла не превышает `2 * 10^9`. Ограничения на время выолнения и на объём используемой памяти приведены на странице "Общее описание задач".
|
||
Исходный файл должен иметь одно из названий `expresii.pas`, `expresii.c` или `expresii.cpp`
|
||
|
||
# Пример 1
|
||
`expresii.in`
|
||
```
|
||
XIV*MMCIX-MMXXII+V*XL
|
||
```
|
||
\
|
||
\
|
||
`expresii.out`
|
||
```
|
||
27704
|
||
```
|
||
|
||
# Похожие задачи
|
||
1. [227. Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii/)
|
||
2. [13. Roman to Integer](https://leetcode.com/problems/roman-to-integer/)
|