Что такое конвертер римских цифр?
Этот инструмент переводит обычное целое число (арабскую цифру) в запись римскими цифрами. Римские цифры использовались во времена Римской империи и встречаются до сих пор: на циферблатах часов, в нумерации глав книг, в годах выпуска фильмов и в именах монархов. Классическая система позволяет записать значения от 1 до 3999 с помощью семи базовых символов.
Символы римских цифр
Семь основных знаков таковы: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500 и M = 1000. Чтобы не писать четыре одинаковых символа подряд, применяются «вычитательные» пары: IV (4), IX (9), XL (40), XC (90), CD (400) и CM (900).
Как работает перевод
Конвертер использует «жадный» алгоритм по упорядоченному списку из 13 пар «значение — символ», от наибольшей (1000 = M) к наименьшей (1 = I). Начиная с исходного числа, он раз за разом вычитает максимальное значение, которое ещё помещается, и дописывает соответствующий символ — пока не останется ноль. Поскольку в списке уже есть вычитательные формы (CM, CD, XC, XL, IX, IV), результат всегда получается правильным и соответствует стандартной записи. Формально это можно записать так:
$$\text{Roman} = \bigoplus_{i}\; \text{sym}_i \times \left\lfloor \frac{R_i}{v_i} \right\rfloor, \quad R_0 = \text{Number}$$
Разбор на примере
Возьмём 2024. Вычитаем 1000 (M) → остаётся 1024, дописываем M; снова вычитаем 1000 → остаётся 24, получаем «MM». Теперь 24: дважды вычитаем по 10 (X) → остаётся 4, добавляем «XX». Наконец, 4 = IV. Итог — MMXXIV.
Частые вопросы
Почему счёт останавливается на 3999? В классической римской системе нет символа больше M, поэтому максимальное число, которое можно аккуратно записать одними только M, — это 3999 (MMMCMXCIX). Для бо́льших значений нужны черты сверху (винкулюм), а они не входят в базовую запись.
Есть ли римская цифра для нуля? Нет. У римлян не было знака для нуля; система отображает только положительные целые числа.
Почему пишут IV, а не IIII? Правило вычитания делает запись короче и не даёт повторять один символ больше трёх раз подряд. Хотя на циферблатах часов иногда можно увидеть IIII — ради зрительной симметрии.