GitHub
Задачи с собеседований: римские цифры
Получив целое число, преобразуйте его в римскую цифру.
Пример
Ввод: 3
Вывод: «III»
Ввод: 4
Вывод: «IV»
Ввод: 1994
Вывод: «MCMXCIV»
Решение
Смотреть
Эта задача, на самом деле, может быть решен довольно элегантно.
Сначала мы помещаем все возможные комбинации символов римских цифр и их целочисленных значений в упорядоченный словарь (по умолчанию в Python 3.6+ словари упорядочены).
Расположим их по порядку от большего к меньшему.
Затем мы перебираем наш словарь и для каждого целочисленного значения делим исходное число на это целочисленное значение символа.
Это говорит нам, сколько римских цифр в данном случае нам понадобится.
Например, 4000 будет представлено как ММММ.
4000/1000 = 4, значит 4 М.
Затем мы можем добавить количество символов римских цифр в наш массив символов (который представляет конечную римскую цифру).
После этого мы можем получить число в остатке.
Затем мы переходим к следующей паре римских цифр и целых чисел в нашем словаре.
Вот код Python 3: