Другие языки программирования и технологии

Помогите с информатикой обычно сам делаю но тут попал в тупик (язык pascal abc)

Дано число X. Требуется перевести это число в римскую систему счисления.

Входные данные
Дано число X в десятичной системе счисления (1 ≤ X ≤ 100).

Выходные данные
Выведите X в римской системе счисления.

Примеры
входные данные
4
выходные данные
IV
входные данные
19
выходные данные
XIX
входные данные
46
выходные данные
XLVI
Составь таблицу соответствия чисел римским цифрам (4, 40 и 400 рассматривай как цифры). А потом в цикле ищешь самую большую цифру, меньшую числа, выписывает и уменьшает число на нее, пока не останется 0.
Сержик Побережнюк
Сержик Побережнюк
89 434
Лучший ответ
Михаил Корс я не много не понял у меня была подобная идея но не могу её осуществить так вы не могли бы помочь
в римском
I - палец (1)
V ладонь (5)
X две ладони сведены запястьями (10)
L повернутая ладонь (50)

IV = 5-1= 4
Vi= 5+1=6
и так с остальным
В поиске можно найти алгоритмы для дельфи, ссылки вставить не дает
1. Делим число на разряды
2. Любая четвёрка записывается как 5-1 (50-10, 500-100 и т. д.)
3. Любая девятка записывается как 10-1 (100-10, 1000-100 и т. д.)

Всё остальное записывается от большего к меньшему.

то есть число 46 пишется как:
4 = XL
6 = 5+1 = VI

Перевести указанных 3 правила в программу - минут 15-20 работы (скорее всего это с большим запасом). Не вижу проблемы
Борис Сидоров
Борис Сидоров
42 958
Михаил Корс последний вопрос делить число на разряды с помощью операции div и mod
В чем тупик, не можешь понять принцип превращения арабского числа в римское?
В цикле делишь введенное число на I + 1 каждую итерацию цикла.
Проверяешь - результат деления равен 1 или нет.
Как только поделится и станет 1 - значит количество итераций и есть число, которое нужно.
А дальше
Количество палок - количество итераций, плюс если палок становится 5, 10... и т. д. заменять IIIII - на V, VV на X и т. д.
Саша Тарасенко
Саша Тарасенко
14 241
Михаил Корс я не много не понимаю что такое интерация мне нужно сделать
то чисто только с условным оператором if