Parcours
/
Pharo
Pharo
/
Exercices
/
Chiffres romains
Chiffres romains

Chiffres romains

Facile

Introduction

Aujourd'hui, la plupart des gens dans le monde utilisent les chiffres arabes (0–9). Mais si tu remontais deux mille ans en arrière, tu découvrirais que la plupart des Européens utilisaient plutôt les chiffres romains.

Pour écrire un chiffre romain, on utilise les lettres latines suivantes, qui ont chacune une valeur :

M D C L X V I
1000 500 100 50 10 5 1

Un chiffre romain est une suite de ces lettres, et sa valeur est la somme des valeurs de ces lettres. Par exemple, XVIII a la valeur 18 (10 + 5 + 1 + 1 + 1 = 18).

Il y a cependant une règle qui complique les choses : une même lettre ne peut pas être utilisée plus de trois fois de suite. Cela signifie qu'on ne peut pas exprimer des nombres comme 4 avec le IIII qui semble pourtant naturel. À la place, pour ces nombres, on utilise une méthode de soustraction entre deux lettres. On conçoit donc 4 non pas comme 1 + 1 + 1 + 1, mais comme 5 - 1. Et, ce qui peut sembler un peu déroutant pour notre esprit moderne, on écrit le plus petit nombre en premier. Cela ne s'applique que dans les cas suivants : 4 (IV), 9 (IX), 40 (XL), 90 (XC), 400 (CD) et 900 (CM).

L'ordre compte dans les chiffres romains ! Les lettres (et les composés particuliers ci-dessus) doivent être ordonnées par valeur décroissante, de gauche à droite.

Voici quelques exemples :

 105 => CV
---- => --
 100 => C
+  5 =>  V
 106 => CVI
---- => --
 100 => C
+  5 =>  V
+  1 =>   I
 104 => CIV
---- => ---
 100 => C
+  4 =>  IV

Et un dernier exemple plus complexe :

 1996 => MCMXCVI
----- => -------
 1000 => M
+ 900 =>  CM
+  90 =>    XC
+   5 =>      V
+   1 =>       I

Instructions

Ta tâche consiste à convertir un nombre écrit en chiffres arabes en chiffres romains.

Dans cet exercice, on ne s'intéresse qu'aux chiffres romains traditionnels, dans lesquels le plus grand nombre est MMMCMXCIX (soit 3 999).

Note

Il existe de nombreuses façons différentes de convertir des chiffres arabes en chiffres romains. On te recommande d'adopter d'abord une approche naïve pour te familiariser avec le concept de chiffres romains, puis de chercher des méthodes plus efficaces.

Pense à regarder notre vidéo Analyse approfondie à la fin pour explorer les différentes approches possibles !

Remarque

Cet exercice utilise des techniques issues de plusieurs autres exercices, mais il demande aussi d'écrire des boucles conditionnelles.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Pharo Exercism

Prêt à commencer Chiffres romains ?

Inscris-toi sur Exercism pour apprendre et maîtriser Pharo avec 50 exercices, et un vrai mentorat humain, le tout gratuitement.

Analyse approfondie de Chiffres romains !

Découvre une variété de solutions différentes à cet exercice délicat, de la récursion aux tables de correspondance, en passant par une solution qui utilise des nombres à base mixte, et quelques triches simplistes en Common Lisp.