Conversión Hexadecimal.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 128M

Author:
Problem type

Bessie le estaba enseñando a Jessie, su protegida interesada en competencias de programación, los hechos binarios de la vida. Ella le explicó que lso computadores trabajan en binario (base 2) y que los números osn guardados en general como 0´s y 1´s. A Jessie no le quedaba claro el concepto, entonces Bessie le puso un ejercicio, mostrado a continuación.

Escriba un programa que convierta un número hexadecimal sin signo a forma octal (base 8). Un número hexadecimal puede tener a los más 100,000 dígitos y está compuesto de dígitos y letras mayúsculas de la A a la F.

Nota: un número hexadecimal es una manera especial de representar números en base 16. Los dígitos 0-9 aún corresponden a 0-9, y A (en mayúscula) corresponde a 10, B a 11, etc. (F corresponde a 15).

Por ejemplo, el número hexadecimal A10B corresponde al número (decimal) 11*1+0*16+1*16^2+10*16^3 = 41227. El número octal (base 8) correspondiente sería 120413, desde que 3*1+1*8+4*8^2+0*8^3+2*8^4+1*8^5 = 41227.

Ayuda: hay una manera más fácil de convertir de hexadecimal a octal que convertir hexadecimal -> decimal -> octal. Podría ser útil pensar acerca de los números en binario (base 2).

Entrada

Un solo número hexadecimal. Los números con varios dígitos no tendrán ceros a la izquierda (esto es A1, en vez de 00A1). 0 (por si mismo) es una entrada válida.

Salida

El valor octal sin ceros a la izquierda. Si la entrada es 0, la salida también debería ser 0.

Ejemplo de Entrada

123ABC

Ejemplo de Salida

4435274

Comments

There are no comments at the moment.