Menu
CoddyTech

Integer to Roman

Les chiffres romains comportent sept lettres : M 1000, D 500, C 100, L 50, X 10, V 5 et I 1. Les lettres vont de la plus grande à la plus petite et s’additionnent : 7 s’écrit donc VII. Aucune lettre ne se répète quatre fois de suite : 4, 9, 40, 90, 400 et 900 s’écrivent IV, IX, XL, XC, CD et CM ; une lettre plus petite est alors soustraite de celle qui la suit, plus grande. Seules ces six paires placent une lettre plus petite en premier.

Étant donné un entier num, renvoie son chiffre romain.

Fonction

intToRoman(num: integer) → string
numinteger
un entier de 1 à 3999
Renvoiestring
le chiffre romain de num en majuscules

Contraintes

  • 1 ≤ num ≤ 3999

Exemples

Entrée
num = 49
Sortie
"XLIX"
Explication
49, c’est 40 + 9, donc le numéral est XL puis IX : XLIX. IL n’est pas autorisé, car I ne se soustrait que dans IV et IX.
challenge icon

Pour aller plus loin

Étant donné une chaîne, peux-tu vérifier qu’il s’agit d’un chiffre romain sous cette forme standard, en acceptant XLIX et en rejetant IIII, IL et VX ?

Réinitialiser le code
def intToRoman(num):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Argument

num = 49

Résultat attendu

"XLIX"