Дано число X. Требуется перевести это число в римскую систему счисления.
Входные данные
Дано число X в десятичной системе счисления (1 ≤ X ≤ 100).
Выходные данные
Выведите X в римской системе счисления.
Примеры
входные данные
4
выходные данные
IV
входные данные
19
выходные данные
XIX
входные данные
46
выходные данные
XLVI
Другие языки программирования и технологии
Помогите с информатикой обычно сам делаю но тут попал в тупик (язык pascal abc)
Составь таблицу соответствия чисел римским цифрам (4, 40 и 400 рассматривай как цифры). А потом в цикле ищешь самую большую цифру, меньшую числа, выписывает и уменьшает число на нее, пока не останется 0.
Михаил Корс
я не много не понял у меня была подобная идея но не могу её осуществить так вы не могли бы помочь
в римском
I - палец (1)
V ладонь (5)
X две ладони сведены запястьями (10)
L повернутая ладонь (50)
IV = 5-1= 4
Vi= 5+1=6
и так с остальным
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 работы (скорее всего это с большим запасом). Не вижу проблемы
2. Любая четвёрка записывается как 5-1 (50-10, 500-100 и т. д.)
3. Любая девятка записывается как 10-1 (100-10, 1000-100 и т. д.)
Всё остальное записывается от большего к меньшему.
то есть число 46 пишется как:
4 = XL
6 = 5+1 = VI
Перевести указанных 3 правила в программу - минут 15-20 работы (скорее всего это с большим запасом). Не вижу проблемы
Михаил Корс
последний вопрос делить число на разряды с помощью операции div и mod
В чем тупик, не можешь понять принцип превращения арабского числа в римское?
В цикле делишь введенное число на I + 1 каждую итерацию цикла.
Проверяешь - результат деления равен 1 или нет.
Как только поделится и станет 1 - значит количество итераций и есть число, которое нужно.
А дальше
Количество палок - количество итераций, плюс если палок становится 5, 10... и т. д. заменять IIIII - на V, VV на X и т. д.
В цикле делишь введенное число на I + 1 каждую итерацию цикла.
Проверяешь - результат деления равен 1 или нет.
Как только поделится и станет 1 - значит количество итераций и есть число, которое нужно.
А дальше
Количество палок - количество итераций, плюс если палок становится 5, 10... и т. д. заменять IIIII - на V, VV на X и т. д.
Михаил Корс
я не много не понимаю что такое интерация мне нужно сделать
то чисто только с условным оператором if
то чисто только с условным оператором if
Похожие вопросы
- Помогите пж информатика 9 класс програма на языке pascal abc
- Помогите написать программу на языке Pascal ABC
- Скиньте пожалуйста игру змейка (как в тетрисе) , написанную на языке Pascal ABC?
- Вопрос связан с олимпиадой по информатике! (Нужные знания языков pascal или c++)
- Помогите написать простые программы и задачи в Pascal ABC. Алгоритмы ветвления. Информатика. Програмирование.
- Помогите решить задачу по информатике 9 класс. Pascal ABC
- помогите с информатикой (pascal ABC)\ 10 класс
- Pascal abc и Pascal одно и тоже? Или разные языки программирования?
- Информатика 9 класс Pascal ABC
- Информатика. Составить программу на языке Pascal