- ← Повернутись
- Алгоритм шифрування Караки
- Стипендія
- Любить, не любить
- Гіпотеза Коллатца
- Римські числа
- Паліндром
- Додатково:Запити
- Турнірна таблиця
Римські числа
Обмеження: 2 сек., 256 МіБ
Римська система числення складається з наступних символів:
| Символ | Значення |
|---|---|
| I | 1 |
| V | 5 |
| X | 10 |
| L | 50 |
| C | 100 |
| D | 500 |
| M | 1000 |
Числа формуються шляхом комбінування цих символів. Наприклад, число 12 записується як XII (X + I + I = 10 + 1 + 1).
Завдання
Напишіть програму, яка дозволяє користувачам конвертувати ціле число в римське число.
Правила римських чисел
Нуль не представлений у римській системі.
Символ може повторюватися не більше трьох разів поспіль.
Римські цифри додаються до значення, якщо розташовані після більшого числа.
Римські цифри віднімаються, якщо розташовані перед більшим числом.
Лише I, X та C можуть використовуватися у віднімальних комбінаціях:
I перед V (5) або X (10) → IV (4), IX (9)
X перед L (50) або C (100) → XL (40), XC (90)
C перед D (500) або M (1000) → CD (400), CM (900)
Числа утворюються шляхом комбінування цих символів. Наприклад, число 12 можна записати як XII, оскільки X + I + I = 10 + 1 + 1.
Додаткові правила
Нуль не має позначення.
Символ можна повторювати не більше трьох разів поспіль.
Римські цифри повторюються для збільшення значення: III відповідає 1 + 1 + 1 = 3. Однак лише степені числа 10 можуть повторюватися таким чином. Наприклад, запис VV є неправильним, оскільки 5 + 5 має бути записано як X.
Якщо римська цифра стоїть після більшої цифри, їх значення додаються. Якщо римська цифра стоїть перед більшою цифрою, їх значення віднімаються.
Тільки I, X і C можуть використовуватися для запису віднімання за такими правилами:
I може стояти перед V (5) та X (10), утворюючи IV (4) та IX (9) відповідно.
X може стояти перед L (50) та C (100), утворюючи XL (40) та XC (90) відповідно.
C може стояти перед D (500) та M (1000), утворюючи CD (400) та CM (900) відповідно.
Вхідні дані
Ціле число х для конвертації
Вихідні дані
В єдиному рядку римське число
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 10 | X |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 22 | XXII |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 76 | LXXVI |
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|