Convertis un nombre trinaire, représenté par une string (par exemple '102012'), en son équivalent décimal, en partant des principes de base.
Le programme doit considérer les strings qui décrivent un nombre trinaire invalide comme valant 0.
Les nombres trinaires contiennent trois symboles : 0, 1 et 2.
Le dernier rang d'un nombre trinaire est celui des unités. L'avant-dernier est celui des 3, l'antépénultième celui des 9, etc.
# "102012"
1 0 2 0 1 2 # the number
1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
243 + 0 + 54 + 0 + 3 + 2 = 302
Si ton langage fournit une méthode dans la bibliothèque standard pour effectuer la conversion, fais comme si elle n'existait pas et implémente-la toi-même.
Inscris-toi sur Exercism pour apprendre et maîtriser C++ avec 19 concepts100 exercices, et un vrai mentorat humain, le tout gratuitement.