Pregunta
Somos capturados por el ejército robot en su estación espacial. Nuestro piloto de nave espacial está en la prisión, que está en el nivel 1. Solo hay una forma de escapar y está rescatando a tu piloto de nave espacial. Significa pasar del nivel N al nivel 1. Sin embargo, debido a que es muy arriesgado, debe llegar a la prisión en la menor cantidad de pasos posible.
Condiciones
Hay 4 formas de moverse:
- Pasar del nivel N al nivel N - 1
e.g. from 12 to 11 - Pasar del nivel N al nivel N + 1
e.g. from 12 to 13 - Usa el teletransporte del nivel 2k al nivel k
e.g. from 12 to 6 - Usa el teletransporte del nivel 3k al nivel k
e.g. from 12 to 4
- Pasar del nivel N al nivel N - 1
Los teletransportes son solo unidireccionales (puede obtener de 12 a 4 pero es imposible llegar de 4 a 12)
- Cada acción da un paso
Entrada
La entrada debe leerse desde STDIN, o la alternativa más cercana en su lenguaje de programación. La entrada consiste en un número entero ndonde 1 <= n <= 10^8.
Salida
La salida debe ser el número mínimo de pasos necesarios para pasar nal nivel 1.
Ejemplos
Level Minimum number of steps
1 0
8 3
10 3
267 7
100,000,000 25
¡Intente codificar el programa que nos ayudará a salvar a nuestro piloto de nave espacial de la prisión en el menor tiempo posible y regresar a casa!
¡El código más corto ganará!