Сегодня в России римские цифры нужны, в первую очередь, для записи номера века или тысячелетия. Римские цифры удобно ставить рядом с арабскими – если написать век римскими цифрами, а затем год – арабскими, то в глазах не будет рябить от обилия одинаковых знаков. Римские цифры имеют некоторый оттенок архаичности. С их помощью также традиционно обозначают порядковый номер монарха (Петр I), номер тома многотомного издания, иногда – главы книги. Также римские цифры используются в циферблатах часов под старину. Важные числа, такие, как год олимпиады или номер научного закона, могут также фиксироваться при помощи римских цифр: II мировая, V постулат Евклида.

В разных странах римские цифры употребляются немножко по-разному: в СССР было принято указывать с помощью них месяц года (1.XI.65). На западе римскими цифрами часто пишут номер года в титрах фильмов или на фасадах зданий.

В части Европы, в особенности в Литве, нередко можно встретить обозначение римскими цифрами дней недели (I – понедельник и так далее). В Голландии римскими цифрами иногда обозначают этажи. А в Италии ими отмечают 100-метровые отрезки пути, отмечая, в то же время, арабскими цифрами каждый километр.

В России при письме рукой принято подчеркивать римские числа снизу и сверху одновременно. Однако часто в других странах подчеркивание сверху значило увеличение регистра числа в 1000 раз (или 10000 раз при двойном подчеркивании).

Существует распространенное заблуждение о том, что современные западные размеры одежды имеют некую связь с римскими цифрами. На самом деле обозначения XXL, S, M, L и т.п. не имеют никакой связи с ними: это аббревиатуры английских слов eXtra (очень), Small (маленький), Large (большой).

21-й XXI
20-й XX
19-й XIX
18-й XVIII
17-й XVII
16-й XVI
15-й XV
14-й XIV
13-й XIII
12-й XII
11-й XI
10-й X
9-й IX
8-й VIII
7-й VII
6-й VI
5-й V
4-й IV
3-й III
2-й II
1-й I

Римские цифры, придуманные более 2500 лет тому назад, использовались европейцами на протяжении двух тысячелетий, затем были вытеснены арабскими цифрами. Это произошло потому, что римские цифры записать достаточно сложно, да и любые арифметические действия в римской системе выполнять гораздо сложнее, чем в арабской системе исчисления. Не смотря на то, что сегодня римская система не часто используется, это вовсе не значит, что она стала неактуальна. В большинстве случаев века римскими цифрами обозначают, а вот годы или точные даты принято писать арабскими цифрами.

Римскими цифры также используются при написании порядковых номеров монархов, энциклопедических томов, валентности различных химических элементов. На циферблатах ручных часов также часто используются цифры римской системы исчисления.

Римские цифры представляют собой определенные знаки, с помощью которых записывают десятичные разряды и их половины. Используют для этого всего семь заглавных букв латинского алфавита. Числу 1 соответствует римская цифра I, 5 – V, 10 – X, 50 – L, 100 – C, 500 – D, 1000 – M. При обозначении натуральных чисел эти цифры повторяются. Так 2 можно написать, используя два раза I, то есть 2 – II, 3 - три буквы I, то есть 3 – III. Если меньшая цифра стоит перед большей, то используется принцип вычитания (меньшая цифра вычитается из большей). Так, цифра 4 изображается как IV (то есть 5-1).

В случае, когда большая цифра стоит впереди меньшей, их складывают, например 6 записывается в римской системе, как VI (то есть 5+1).

Если Вы привыкли записывать числа арабскими цифрами, то могут возникнуть некоторые затруднения в том случае, когда нужно записать века римскими цифрами, какое-либо число или дату. Перевести любое число из арабской системы в римскую систему исчисления и наоборот можно очень легко и очень быстро, воспользовавшись удобным конвертером на нашем сайте.

На клавиатуре компьютера достаточно перейти на английский язык, чтобы без труда записать любое число римскими цифрами.

По всей видимости, древние римляне отдавали предпочтение прямым линиям, поэтому все их цифры прямые и строгие. Однако, римские цифры представляют собой ни что иное, как упрощенное изображение пальцев человеческой руки. Цифры с одного до четырех напоминают вытянутые пальцы, цифру пять можно сравнить с раскрытой ладонью, где большой палец оттопырен. А цифра десять напоминает две скрещенные руки. В европейских странах при счете принято разгибать пальцы, а вот в России, наоборот, загибать.

Для обозначения цифр в латинском языке приняты комбинации следующих семи знаков: I (1), V (5), X (10), L (50), С (100), D (500), М (1000).

Для запоминания буквенных обозначений цифр в порядке убывания придумано мнемоническое правило:

М ы D арим С очные L имоны, Х ватит V сем I х (соответственно M, D, C, L, X, V, I ).

Если знак, обозначающий меньшее число, стоит справа от знака, обозначающего большее число, то меньшее число следует прибавлять к большему, если слева, то вычитать, а именно:

VI - 6, т.е. 5 + 1
IV - 4, т.е. 5 - 1
XI - 11, т.е. 10 + 1
IX - 9, т.е. 10 - 1
LX - 60, т.е. 50 + 10
XL - 40, т.е. 50 - 10
СХ - 110, т.е. 100 + 10
ХС - 90, т.е. 100-10
MDCCCXII - 1812, т.е. 1000 + 500 + 100 + 100 + 100 + 10 + 1 + 1.

Возможно различное обозначение одного и того же числа. Например, число 80 можно обозначить как LXXX (50 + 10 + 10 + 10) и как ХХС (100 - 20).

Для записи чисел римскими цифрами необходимо сначала записать число тысяч, затем сотен, затем десятков и, наконец, единиц.

I (1) - unus (унус)
II (2) - duo (дуо)
III (3) - tres (трэс)
IV (4) - quattuor (кваттуор)
V (5) - quinque (квинквэ)
VI (6) - sex (сэкс)
VII (7) - septera (сэптэм)
VIII (8) - octo (окто)
IX (9) - novem (новэм)
X (10) - decem (дэцем)
XI (11) - undecim (ундецим)
XII (12) - duodecim (дуодэцим)
ХШ (13) - tredecim (трэдэцим)
XIV (14) - quattuordecim (кваттуордэцим)
XV (15) - quindecim (квиндэцим)
XVI (16) - sedecim (сэдэцим)
XVII (17) - septendecim (сэптэндэцим)
XVIII (18) - duodeviginti (дуодэвигинти)
XIX (19) - undeviginti (ундэвигинти)
XX (20) - viginti (вигинти)
XXI (21) - unus et viginti или viginti unus
XXII (22) - duo et viginti или viginti duo и т.д.
XXVIII (28) - duodetriginta (дуодэтригинта)
XXIX (29) - undetriginta (ундэтригинта)
XXX (30) : triginta (тригинта)
XL (40) - quadraginta (квадрагинта)
L (5O) - quinquaginta (квинквагинта)
LX (60) - sexaginta (сэксагинта)
LXX (70) - septuaginta (сзлтуагинта)
LXXX180) - octoginta (октогинта)
КС (90) - nonaginta (нонагинта)
C (100) centum (центум)
CC (200) - ducenti (дуценти)
CCC (300) - trecenti (трэценти)
CD (400) - quadrigenti (квадригэнти)
D (500) - quingenti (квингэнти)
DC (600) - sescenti(сэсценти) или sexonti (сэксцонти)
DCC (700) - septigenti (сэптигэнти)
DCCC (800) - octingenti (октингэнти)
CV (DCCC) (900) - nongenti (нонгэнти)
M (1000) - mille (милле)
ММ (2000) - duo milia (дуо милиа)
V (5000) - quinque milla (квинквэ милиа)
X (10 000) - decem milia (дэцем милиа)
XX (20000) - viginti milia (вигинти милиа)
C (100000) - centum milia (центум милиа)
XI (1000000) - decies centena milia (дэциэс центэна милиа).

Если вдруг любознательный человек спросит, почему для обозначения цифр 50, 100, 500 и 1000 были выбраны латинские буквы V, L, С, D, М, то сразу скажем, что это вовсе не латинские буквы, а совсем иные знаки.

Дело в том, что основой для латинского алфавита послужил алфавит западногреческий. Именно к нему восходят три знака L, С и М. Здесь они обозначали придыхательные звуки, которых не было в латинском языке. Когда оформлялся латинский алфавит, именно они оказались лишними. Их и приспособили для обозначения чисел в латинской графике. Позднее они по написанию совпали с латинскими буквами. Так, знак С (100) стал похож на первую букву латинского слова centum (сто), а М (1000) - на первую букву слова mille (тысяча). Что же касается знака D (500), то он представлял собой половину знака Ф (1000), а потом уж стал похож на латинскую букву. Знак V (5) являлся всего навсего верхней половиной знака X (10).

Вот и вся история с этими римскими цифрами.

Задание для закрепления пройденного материала

Обратите внимание на обозначение трех дат. Здесь зашифрованы римскими цифрами годы рождения Александра Пушкина, Александра Герцена и Александра Блока, Решите сами, какому Александру принадлежит какая дата.

MDCCCXH
MDCCXCIX
MDCCCLXXX

Римская нотация использует семь цифр - I , V , X , L , L , D , M . Для представления числа n в римской нотации возьмём количества его единиц n 0 , десятков n 1 , сотен n 2 и тысяч n 3 . Сначала запишем в римской нотации количество единиц. При 0 ⩽ n 0 ⩽ 3 просто запишем подряд цифру I (единица) n 0 раз. При 4 ⩽ n 0 ⩽ 8 запишем цифру V (она обозначает пять), и припишем к ней столько цифр I , на сколько n 0 больше или меньше пяти, причём если больше, то справа, а если меньше, то слева. Наконец, n 0 = 9 запишем как IX (X обозначает десятку, I слева показывает, что до десятки недостаёт единицы).

Точно так же поступим с количеством десятков n 1 , только вместо цифр I =1, V =5, C =10 будем использовать X =10, L =50, C =100.

Те же правила применяются к количеству сотен n 2 , для записи используются цифры C =100, D =500, M =1000.

Для тысяч римских цифр хватит только при 0 ⩽ n 3 ⩽ 3 , так что получится либо M , либо MM , либо MMM .

Все перечисленные правила суммированы в таблице .


Теперь составим вместе записи для n 3 , n 2 , n 1 , n 0 в порядке перечисления. Римская запись числа готова.

Например, число 1987 записывается как MCMLXXXVII . Здесь 1000 = M , 900 = CM , 80 = LXXX и 7 = VII .

Виден недостаток римской нотации: используя шесть цифр, она позволяет представить числа не более 3999 .

Анализ правил перевода чисел в римскую нотацию показывает, что достаточно записать римскими цифрами каждую из десятичных цифр заданного числа, учитывая номер её разряда, а затем составить вместе полученные записи. Правила записи десятичной цифры с помощью римских цифр примерно одни и те же - меняется в зависимости от разряда только лишь набор римских цифр, используемых для записи. Для единиц это I , V , X , для десятков - X , L , C , для сотен - C , D , M , для тысяч - только M (поскольку цифр для пяти и десяти тысяч не предусмотрено).

С учётом этого обстоятельства было бы разумно реализовать в виде процедуры (назовём её toRomanHelper) преобразование десятичной цифры в римскую нотацию. Процедура будет принимать два параметра - десятичную цифру и номер десятичного разряда. Возвращаемое значение - римская запись десятичной цифры, соответствующая её разряду.

Преобразованием числа в римскую запись будет заниматься процедура toRoman . Она разберёт число по десятичным цифрам. Для каждой десятичной цифры найдёт запись римскими цифрами в соответствии с разрядом, в котором она находится (для этого будет вызвана процедура toRomanHelper). Римские записи для десятичных цифр будут соединены вместе и получившаяся строка будет возвращена из процедуры.

Обратное преобразование будет осуществляться в обратном порядке. Строку, представляющую собой римскую запись числа, прежде всего нужно разделить по десятичным разрядам, а затем найдём десятичные цифры, соответствующие этим разрядам.

Задача разделения по разрядам теперь будет сложнее. Дело в том, что не каждая строка, составленная из римских цифр, будет правильной римской записью некоторого числа (в отличие от десятичной записи, в которой правильной будет любая последовательность десятичных цифр).

В соответствии с правилами формирования римской записи чисел правильная запись представляет собой четыре группы римских цифр, составленных вместе. Первая (расположенная слева) - группа, обозначающая тысячи, затем идёт группа сотен, затем десятков, и, наконец, единиц. То, из чего может состоять каждая из этих групп, можно увидеть в соответствующем столбце таблицы 31.1. «Запись десятичных разрядов римскими цифрами» .

Удачным решением было бы использовать регулярные выражения для разделения римской записи на группы цифр по разрядам. Для каждой группы нужно составить шаблон и заключить его в захватывающие скобки. Шаблоны для тысяч, сотен, десятков и единиц, составленные вместе, дадут регулярное выражение, которому должна соответствовать римская запись целиком. Поэтому в регулярное выражение следует добавить привязки к началу и концу строки.

Приступим к созданию шаблона для разряда единиц. Решение, которое первым приходит в голову - перечислить все альтернативы: (|I|II|III|IV|V|VI|VII|VIII|IX) . Обратите внимание на пустую альтернативу, с которой начинается перечисление: группа единиц в римской записи может быть и пустой. Это решение можно немного упростить, если использовать квантификаторы. Для цифр от 0 до 3 можно написать I{0,3} вместо |I|II|III , для цифр от 5 до 8 годится VI{0,3} вместо V|VI|VII|VIII . Таким образом, для разряда единиц получаем шаблон (I{0,3}|IV|VI{0,3}|IX) . Его можно дополнительно упростить, объединив первую альтернативу с третьей, а вторую с четвёртой: (V?I{0,3}|I) .

Для десятков и сотен получаются точно такие же шаблоны, только составленные из других римских цифр: (L?X{0,3}|X) (десятки) и (D?C{0,3}|C) (сотни). Для разряда тысяч шаблон совсем простой: (M{0,3}) .

Итак, для целой римской записи получаем такое регулярное выражение: ^(M{0,3})(D?C{0,3}|C)(L?X{0,3}|X)(V?I{0,3}|I)$ .