Frage
Wir werden von einer Roboterarmee auf ihrer Raumstation gefangen genommen. Unser Raumschiffpilot befindet sich im Gefängnis auf Stufe 1. Es gibt nur einen Weg zu entkommen und er rettet Ihren Raumschiffpilot. Das bedeutet, dass Sie von Level N auf Level 1 wechseln müssen. Da dies jedoch sehr riskant ist, müssen Sie das Gefängnis in möglichst wenigen Schritten erreichen.
Bedingungen
Es gibt 4 Möglichkeiten, sich zu bewegen:
- Wechseln Sie von Ebene N zu Ebene N - 1
e.g. from 12 to 11 - Wechseln Sie von Level N zu Level N + 1
e.g. from 12 to 13 - Benutze den Teleport von Level 2k nach Level k
e.g. from 12 to 6 - Benutze den Teleport von Level 3k nach Level k
e.g. from 12 to 4
- Wechseln Sie von Ebene N zu Ebene N - 1
Teleports sind nur in eine Richtung möglich (Sie können zwischen 12 und 4 wählen, es ist jedoch unmöglich, zwischen 4 und 12 zu wählen).
- Jede Aktion macht einen Schritt
Eingang
Die Eingabe sollte von STDIN oder der nächstgelegenen Alternative in Ihrer Programmiersprache gelesen werden. Die Eingabe besteht aus einer Ganzzahl, nwobei 1 <= n <= 10^8.
Ausgabe
Die Ausgabe sollte die Mindestanzahl von Schritten sein, die erforderlich sind, um von nStufe 1 zu gelangen.
Beispiele
Level Minimum number of steps
1 0
8 3
10 3
267 7
100,000,000 25
Versuchen Sie, ein Programm zu programmieren, mit dem wir unseren Raumschiff-Piloten in kürzester Zeit aus dem Gefängnis retten und nach Hause zurückkehren können!
Der kürzeste Code gewinnt!