Convierte un número trinario, representado como un string (por ejemplo, '102012'), a su equivalente decimal a partir de los principios básicos.
El programa debe tratar como 0 cualquier string que especifique un trinario inválido.
Los números trinarios contienen tres símbolos: 0, 1 y 2.
La última posición de un número trinario es la del 1. La penúltima es la del 3, la antepenúltima es la del 9, y así sucesivamente.
# "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 incluye un método en la biblioteca estándar para hacer la conversión, haz de cuenta que no existe e impleméntala por tu cuenta.
Regístrate en Exercism para aprender y dominar C++ con 19 conceptos100 ejercicios y mentoría humana real, todo gratis.