Une autre façon est de stocker en tableau bidimensionnel les chiffres romains pour 1, 5, 10, 50, 100, 500, 1000 et ainsi de suite. Exemple (dans un tableau PHP):
$roman = array(
[0] = array(1=>"I", 5=>"V", 10=>"X"),
[1] = array(1=>"X", 5=>"L", 10=>"C"),
[2] = array(1=>"C", 5=>"D", 10=>"M"),
[3] = array(1=>"M", 5=>"^V", 10=>"^X"),
);
Ensuite, prenez chaque chiffre de droite à gauche et appliquez la traduction suivante. Définir un niveau de $ variable = 0 et augmenter sa valeur de 1 après chaque chiffre traité: ('' en PHP un concats deux cordes)
1 => $roman[$level][1]
2 => $roman[$level][1].$roman[$level][1]
3 => $roman[$level][1].$roman[$level][1].$roman[$level][1]
4 => $roman[$level][1].$roman[$level][5]
5 => $roman[$level][5]
6 => $roman[$level][5].$roman[$level][1]
7 => $roman[$level][5].$roman[$level][1].$roman[$level][1]
8 => $roman[$level][5].$roman[$level][1].$roman[$level][1].$roman[$level][1]
9 => $roman[$level][1].$roman[$level][10]
Exemple: 1945
5 => $roman[0][5] = "V"
4 => $roman[1][1].$roman[1][5] = "XL"
9 => $roman[2][1].$roman[2][10] = "CM"
1 => $roman[3][1] = "M"
ainsi, le nombre est traduit « MCMXLV »
Désolé, ce pourrait ne pas bien répondre à votre question, mais j'espère que cela aide de quelque façon ..
ressemble à une question de devoirs, sent comme une question de devoirs ...;-) –
Oui, je sais ... J'aimerais pouvoir prouver que je ne triche pas. C'est en fait une question de devoirs, pour les étudiants CS ... Juste, pas pour moi, je lis juste le livre par moi-même, et je n'ai pas d'enseignant (ou assez d'ami) pour aller demander. –