Вопрос по информатике:
( НА ЯЗЫКЕ С++ ) Напишите процедуру, которая выводит на экран запись переданного ей числа
в римской системе счисления.
I -1, V – 5, X – 10, L – 50, C – 100, D – 500, M – 1000
Натуральные числа записываются при помощи повторения этих цифр. При этом,
если большая цифра стоит перед меньшей, то они складываются (принцип
сложения), если же меньшая стоит перед большей, то меньшая вычитается из
большей (принцип вычитания). Последнее правило применяется только во
избежание четырёхкратного повторения одной и той же цифры.
Для правильной записи больших чисел римскими цифрами необходимо сначала
записать число тысяч, затем сотен, затем десятков и, наконец, единиц.
При этом некоторые из цифр (I, X, C, M) могут повторяться, но не более трёх раз
подряд; таким образом, с их помощью можно записать любое целое число не более
3999 (MMMCMXCIX)
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 18.09.2018 10:36
- Информатика
- remove_red_eye 13898
- thumb_up 22
Ответы и объяснения 1
#include
using namespace std;
string arabicToRoman(unsigned &number)
{
const unsigned count = 13;unsigned arabic[count] = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1
}, i, j;
string roman[count] = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX",
"V", "IV", "I" }, result = "";
for (i = 0; i < count; i++) {
for (j = 0; j < number / arabic[i]; j++) {
result += roman[i];
}
number %= arabic[i];
}
return result;
}
int main()
{
unsigned uin = 0;
cin >> uin;
cout << arabicToRoman(uin);
system("pause");
return 0;
}
- 19.09.2018 18:39
- thumb_up 15
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.