Convierte un número trinario, representado como un string (por ejemplo, '102012'), a su equivalente decimal usando los principios básicos.
El programa debe considerar que los strings que especifiquen un trinario no válido tienen el valor 0.
Los números trinarios contienen tres símbolos: 0, 1 y 2.
La última posición de un número trinario es la posición del 1. La penúltima es la posición del 3, la antepenúltima es la posición del 9, etcétera.
# "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 tu lenguaje proporciona un método en la biblioteca estándar para realizar la conversión, haz como si no existiera e impleméntalo tú mismo.
Regístrate en Exercism para aprender y dominar C++ con 19 conceptos100 ejercicios y mentoría humana real, todo gratis.