eolymp
bolt
Try our new interface for solving problems
Məsələlər

Rum ədədləri

dərc olunub 07.06.15 16:21:47

Не усі числа менші за 2000, а лише вхідні дані.

dərc olunub 08.04.16 13:01:45

Компилятор C++ Мы должны вернуть строку, но пишет, что main должен быть int. Как так?

dərc olunub 27.05.16 22:39:50

А как правильно определить ету переменую в Пайтон

dərc olunub 16.03.18 15:56:30

Складна задача, довго прийшлось "шурупати" мозгами

dərc olunub 02.03.19 12:11:08

не могу никак реыть ету задачу киньте кто решение

dərc olunub 27.06.20 14:28:11

С javascript работать невозможно. Попытался понять, что мне дают на вход: Оказалось это какой-то двумерный массив, размер которого меняется время от времени (я опытным путём определил, что там существуют элементы с индексами arr[6][3] и подобные)... (я это вычислял многоразовыми отправками, способом просмотра есть ли ошибка выполнения или нет). Шутники какие-то прям. Пытаться решить задачу для другого устройства если не знаешь его интерфейса это, конечно, очень весело, но не для меня.

dərc olunub 24.08.20 12:02:01

Получилось решить эту задачу, не используя другие системы счисления. Подсказка: можно завести два списка для римских чисел, которые складываются и которые отнимаются.

dərc olunub 30.01.24 11:12:37

,

dərc olunub 01.04.24 11:28:49

include <iostream>

include <string>

using namespace std;

const string Rom[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I", ""}; const int Ar[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1, 0};

string Roman(int arab) { string roman; int i = 0; while(arab > 0) { while(Ar[i] <= arab) { roman += Rom[i]; arab -= Ar[i]; } ++i; } return roman; } int Arab(string roman) { int arab = 0, i = 0; while(roman != "") { while(Rom[i] == roman.substr(0, Rom[i].length())) { roman.replace(0, Rom[i].length(), ""); arab += Ar[i]; } ++i; } return arab; }

int main() { string first, second; char c; while((c = getchar()) != '+') first.push_back(c); while((c = getchar()) != '\n') second.push_back(c); cout << Roman(Arab(first) + Arab(second)) << endl; return 0; }