Écrire deux fonctions permettant de convertir un entier en chiffre romain et un chiffre romain en entier.
Les chiffres romains modernes sont écrits en exprimant chaque valeur en partant du chiffre le plus à gauche et en utilisant les combinaisons standards.
Plage de valeurs :
1 ≤ n < 4000
🔗 Kata Codewars - Roman Numerals Helper
• • •
Implémenter deux méthodes :
- conversion entier → chiffre romain
- conversion chiffre romain → entier
Ces méthodes doivent respecter les règles modernes d’écriture des chiffres romains.
• • •
Les chiffres romains utilisent les symboles suivants :
| Symbole | Valeur |
|---|---|
| M | 1000 |
| CM | 900 |
| D | 500 |
| CD | 400 |
| C | 100 |
| XC | 90 |
| L | 50 |
| XL | 40 |
| X | 10 |
| IX | 9 |
| V | 5 |
| IV | 4 |
| I | 1 |
• • •
Le principe consiste à soustraire successivement les plus grandes valeurs possibles et à ajouter les symboles correspondants.
Exemple :
1990
= 1000 + 900 + 90
= M + CM + XC
= MCMXC
Autre exemple :
2008
= 2000 + 8
= MM + VIII
= MMVIII
• • •
Le principe consiste à parcourir les symboles et additionner leurs valeurs.
Lorsque un symbole plus petit précède un symbole plus grand, on effectue une soustraction.
Exemple :
IV = 5 - 1 = 4
IX = 10 - 1 = 9
• • •
| Entier | Résultat |
|---|---|
| 2000 | "MM" |
| 1666 | "MDCLXVI" |
| 86 | "LXXXVI" |
| 1 | "I" |
| Romain | Résultat |
|---|---|
"MM" |
2000 |
"MDCLXVI" |
1666 |
"LXXXVI" |
86 |
"I" |
1 |
• • •
Dans ce kata :
4 = IV
et non
IIII
Cette notation est appelée notation soustractive.
• • •
Les tests unitaires associés sont disponibles dans le projet :
Les tests couvrent notamment :
- la conversion entier → romain
- la conversion romain → entier
- les valeurs limites
- différentes combinaisons de symboles
• • •
La solution doit :
- convertir un entier en chiffre romain
- convertir un chiffre romain en entier
- respecter les règles modernes d’écriture
- fonctionner pour les valeurs :
1 ≤ n < 4000