Question
Nous sommes capturés par une armée de robots sur leur station spatiale. Notre pilote de vaisseau spatial est dans la prison qui est au niveau 1. Il n'y a qu'une seule façon de s'échapper et c'est de sauver votre pilote de vaisseau spatial. Cela signifie passer du niveau N au niveau 1. Cependant, parce que c'est très risqué, vous devez vous rendre à la prison dans le moins d'étapes possible.
Conditions
Il y a 4 façons de se déplacer:
- Passer du niveau N au niveau N - 1
e.g. from 12 to 11 - Passer du niveau N au niveau N + 1
e.g. from 12 to 13 - Utilisez la téléportation du niveau 2k au niveau k
e.g. from 12 to 6 - Utilisez la téléportation du niveau 3k au niveau k
e.g. from 12 to 4
- Passer du niveau N au niveau N - 1
Les téléports sont à sens unique (vous pouvez obtenir de 12 à 4 mais il est impossible d'obtenir de 4 à 12)
- Chaque action prend une étape
Contribution
L'entrée doit être lue depuis STDIN, ou l'alternative la plus proche dans votre langage de programmation. L'entrée se compose d'un entier noù 1 <= n <= 10^8.
Production
La sortie doit être le nombre minimum d'étapes nécessaires pour passer du nniveau 1.
Exemples
Level Minimum number of steps
1 0
8 3
10 3
267 7
100,000,000 25
Essayez de coder un programme qui nous aidera à sauver notre pilote de vaisseau spatial de la prison dans les plus brefs délais et à rentrer chez nous!
Le code le plus court gagnera!