Правила римские цифры

Идеи реализации

Перевод в римскую нотацию

Римская нотация использует семь цифр — 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[VX]) .

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

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

mech.math.msu.su

Правила римские цифры

Инструкция по эксплуатации
1). Вводим десятичное число от 1 до 3999999 в едитбокс озаглавленый как «Исходное число».
2). Нажимаем кнопку Преобразовать.
3). Наслаждаемся красотой римских цифр справа от надписи «Результат».

Мат часть
Однажды, меня заинтересовала идея преобразования обычных арабских чисел в римские. Да, до десяти умеет переводить каждый школьник, а вот дальше? Даже альбом у замечательной группы Enigma есть озаглавленный римским числом. И я начал копать.

О преобразовании. Римские цифры это непозиционная система исчесления, то есть всё исчесление идет не от разряда цифры, как в обычной десятичной системе, а непосредственно по значению цифры. Цифр в римской системе всего 7 вот они:

Из этих цифр и составляются все числа. Если цифра стоящая слева от данной цифры меньше её, то она вычитаеться из данной цифры (принцип вычитания). Если больше то складывается (принцип сложения). Например XLVII = XL (40 = 50 — 10) + V (5) + II (2) = 47. Но есть одно исключение. Если мы возьмем число 99 и попытаемся перевести, мы в лоб возьмем 100 (С) и вычтем из ста единицу, то есть получается IC. Удобно, компактно, но не правильно. В класической системе римских цифр число стоящее справа (то есть из которого вычитается) должно быть не больше чем, то что слева умноженное на десять. То есть то же число 99 надо переводить буквально XC(90 = 100 — 10) + IX (9 = 10 — 1) = XCIX. То есть 49 нельзя записывать как IL, только как LXIX. Есть ещё одно правило. Нельзя делать повторения четырёх цифр подряд (исключение составляет цифра четыре, которую изображают в часах как IIII для лучшего восприятия), то есть число 40 нельзя записывать как XXXX, а только как LX. Из всех этих правил вытекает, что максимальное число, которое можно записать римскими цифрами есть MMMCMXCIX = 3999. Но не стоит отчаиваться! Этруски, которые вроде бы придумали рисмские цифры, были умными ребятами и сделали хитро — число подчеркнутое палочкой сверху означает количество тысяч. То есть 4000 нужно записывать как IV . Всё просто.

Отсюда сразу вытекает алгоритм действия:

  • Если число больше или равно 4000 то делим нацело на 1000 и получаем количество тысяч, заосвываем их в этот же алгоритм, что бы вычислить как они выглядят в римских цифрах и их подчеркнуть сверху. И вычитаем из исходного числа эти тысячи. Если меньше то
  • Берём разряд тысяч и переводим в римский эквивалент. Вычитаем их из числа.
  • Берём разряд сотен и переводим в римский эквивалент. Вычитаем их из числа.
  • Дальше также поступаем с десятками и единицами.
  • Повторяем все эти действия пока не вычтеться всё.
  • Ну и полученые цифрки выводим как положено — тысячи подчеркнутые сверху (если их много, если нет, то нужное количество М) и обычным стилем все остальные буквы которые у нас получились.

Коментарий к исходникам
Чуть ниже представлены ссылки на реализацию рассказанного здесь алгоритма. Хочется сказать про них пару слов.
Функция которая реализует непосредственно конвертацию называется digConvert() в которую передаётся целое число, а на выходе получается строка содержащая либо «err» в случае неудачно конвертации, либо строку с конвертированным римским числом. Если переданное число больше чем 3999, то в итоге получается число подчеркнутое сверху и часть которая неподчеркнута. Функция возвращает оба значения через амперсант (&). Это необходимо, что бы в функцие обработчике нажатия кнопки, разделить обе части, с помощью метода строки split(), который на входе получает по какому символу её нужно разделить, а на выходе выдаёт массив разделённых элементов. Для реализации подчеркивания используется следующий способ

Код HTML:
Этот текст будет подчеркнут сверху

Результат: Этот текст будет подчеркнут сверху

ph0enix.ru

Таблица Римских цифр от 1 до 100

Правила написания римских цифр

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

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

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

    Например: 80, это…

    1. LXXX (50 + 10 + 10 + 10) — Правильный вариант
    2. ХХС (100 — 20) — Неверный вариант
    3. Я вас научу как такое быстро и успешно искать даже на очень больших страницах и совершено не важно какой обьем информации нужно перелистать.
      Нажмите на своей клавиатуре CTRL+F, в появившемся окне напечатайте нужную вам цыферку и нажмите ENTER. Комп сам за вас найдет похожие элементы на интернет страничке, конечно если они вовсе там присутствуют, при этом даже их подсветит.

      Нужно быть полным чайником что бы не знать такую бывальщину. Ха, сейчас даже дети в детском саду такое умеют.

      Срочно нужна инфо:
      Как правильно набрать римские цифры в Microsoft Word версии 7? (Переключать на английскую раскладку я сама зная как)

      1) Прописанние римских цифр с помощью внутренних ВОРДовских формул перевода наших русско-арабских цифр в римские.
      —————————-
      Откройте и перейдите в текстовое поле документа Word, там нажмите Ctrl+F9, после этого на том же должны появится такие элементы, как 2 дужки <> подсвеченные серым цветом, аккурат между ними прописиваете такое, запишем например для числа 65

      =65* Roman (Этот элемент можно заново напечать или просто скопировать и вставить в соответственную серую зону между дужками в ворде.
      А потом нажать F9

      В итоге у вас должен появится верный ответ уже обсчитанный алгоритмами программы — LXV

      Потренируйтесь и всё будет получатся гараздо быстрее.

      Может кто не понял я уточню.
      кнопки ктрл+ф9 нажимать обязательно
      вконце должно выходить такая формалка

      <=65* Roman>
      и нажмёте на Ф9, и бинго

      У меня созрел вопрос: Тут только для ста, а где найти таблицу для горазда больших чисел

      kvn201.com.ua

      Римские цифры! Эх, посчитаем!

      Однажды шла телепередача «Кто хочет стать миллионером», где ведущий задал вопрос одному из игроков: «Какая цифра в римском счёте обозначается латинской буквой D»? И приводились для опознания цифры 50, 100, 500 и 1000.

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

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

      Так что к литературе эти цифры имеют прямое отношение.

      Поскольку я это дело немного знаю, хочу поделиться своими знаниями с другими. Уверен — вам это в жизни пригодится! Тем более что у многих авторов есть любознательные дети, вижу, такие и на сайте появились. Итак.

      Всё довольно просто. В римском исчислении используется всего семь знаков: I, V, X, L, C, D, M.

      Из них составляются 14 базовых чисел, из которых 9 порядковых: I — 1, II — 2, III — 3, IV — 4, V — 5, VI — 6, VII — 7, VIII — 8, IX — 9;

      и 5 «круглых»: X — 10, L — 50, C — 100, D — 500, M — 1000.

      Это основа. Запоминается легко. Теперь о том, как считать.

      Цифры 1, 2 и 3 обозначаются соответствующим количеством единичных знаков — I, II, III.

      Цифра IV (четыре) — это «пятёрка» со стоящей ПЕРЕД ней «единицей». Это как бы 5 минус 1.

      Цифры VI (шесть), VII (семь) и VIII (восемь) — это «пятёрки» с соответствующим количеством единичных знаков, стоящих ПОСЛЕ неё. Это как бы 5+1, 5+2 и 5+3.

      Далее. Цифра IX (девять) — это «десятка» со стоящей ПЕРЕД ней «единицей». Это как бы 10 минус 1. Так же и XC (девяносто) — это как бы 100-10. Так же и CM (девятьсот) — это как бы 1000-100.

      Цифры XI (одиннадцать), XII (двенадцать) и XIII (тринадцать) — это «десятка» с соответствующим количеством единичных знаков, стоящих ПОСЛЕ неё. Это как бы 10+1, 10+2 и 10+3.

      Затем идёт XIV (четырнадцать), т. е. 10+4. Ну, и так далее!

      Перейдём к примерам. Сейчас какой год? 2010-й. Это пишется так: MMX (1000+1000+10).

      MDCCC — 1800. Пример: годы жизни Л. Толстого — 1828-1910 (MDCCCXXVIII-MCMX). В его произведениях все главы пронумерованы римскими цифрами.

      MСM — 1900. Пример: годы жизни М. Шолохова — 1905-1984 (MCMV-MCMLXXXIV). И в его романах все цифры на главах — римские.

      Система римских цифр в настоящее время широко не применяется, за исключением, в отдельных случаях, обозначения веков (XV век и т. д.), годов н. э. (MCMLXXVII и т. д.), месяцев при указании дат (например, 1. V.1975), ну и нумерации циферблатов часов и глав произведений литературы.

      Наибольшее количество римских знаков (15) используется при написании числа 3888 — MMMDCCCLXXXVIII.

      Максимально возможное число при «римском» исчисление — 3999, т. е. MMMСMXCIX.

      Так что зарплату лучше всего получать в исчисление современными цифрами — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, которые перенесены в Европу арабами в XIII в. (возможно, из Индии) и получили широкое распространение на земле со второй половины 15 века.

      В отличие от римских, арабскими циферками можно посчитать на белом свете абсолютно всё. Даже молекулы во всей Вселенной вместе с Землёй. Только успевай ноли дописывать.

      Спасибо. Не знала все круглые, только X — 10
      Вот, где-то есть такой ангел с римскими числами. —
      http://img.fotki.yandex.ru/get/4610/95649110.6/1_6ZcLI5z1IJfgEEsbJ1I4IdKgxNQ=_818c8_d66a1e1c_orig
      Не знаю, отобразится ли ссылка.

      ещё раз попробую.

      Спасибо за ссылку — картинку посмотрел. Римские числа на пластине от I до Х.
      С уважением —

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

      Ежедневная аудитория портала Проза.ру – порядка 100 тысяч посетителей, которые в общей сумме просматривают более полумиллиона страниц по данным счетчика посещаемости, который расположен справа от этого текста. В каждой графе указано по две цифры: количество просмотров и количество посетителей.

      © Все права принадлежат авторам, 2000-2018 Разработка и поддержка: Литературный клуб Под эгидой Российского союза писателей 18+

      www.proza.ru

      Римские цифры

      Римские цифры — это особые знаки, используемые для записи десятичных разрядов и их половин. Для обозначения чисел римскими цифрами применяется 7 букв латинского алфавита:

      Иногда в интернете римские цифры неправильно называют латинскими цифрами. Правильно называть только «римские цифры«.

      Натуральные числа записываются при помощи повторения этих 7 римских цифр.

      Мнемоническое правило для запоминания буквенных обозначений римских цифр в порядке убывания (автор правила — А.Касперович):

      Mы
      Dаем
      Cоветы
      Lишь
      Xорошо
      Vоспитанным
      Iндивидам

      Правила записи чисел римскими цифрами:
      — если большая цифра стоит перед меньшей, то они складываются (принцип сложения),
      — если меньшая цифра стоит перед большей, то меньшая вычитается из большей (принцип вычитания).

      Второе правило применяется для того, чтобы избежать четырёхкратного повторения одной и той же цифры. Так, римские цифры I, Х, С ставятся соответственно перед Х, С, М для обозначения 9, 90, 900 или перед V, L, D для обозначения 4, 40, 400.

      Примеры записи чисел римскими цифрами:
      VI = 5+1 = 6,
      IV = 5 — 1 = 4 (вместо IIII),
      XIX = 10 + 10 — 1 = 19 (вместо XVIIII),
      XL = 50 — 10 =40 (вместо XXXX),
      XXXIII = 10 + 10 + 10 + 1 + 1 + 1 = 33 и т.д.

      Наиболее часто используются римские цифры от 1 до 20.

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

      Римская система нумерации, господствовавшая в Европе в течение двух тысяч лет, в настоящее время находит весьма ограниченное применение. Римские цифры используются для обозначения веков (XII век), месяцев при указании даты на монументах (21.V.1987), времени на циферблатах часов, порядковых числительных, производных небольших порядков.

      www.latinpro.info