Pytanie
Zostajemy schwytani przez armię robotów na ich stacji kosmicznej. Nasz pilot statku kosmicznego znajduje się w więzieniu na poziomie 1. Istnieje tylko jeden sposób na ucieczkę i uratowanie pilota statku kosmicznego. Oznacza przejście z poziomu N na poziom 1. Jednak ponieważ jest bardzo ryzykowne, musisz dostać się do więzienia w jak najmniejszej liczbie kroków.
Warunki
Istnieją 4 sposoby poruszania się:
- Przejdź z poziomu N na poziom N - 1
e.g. from 12 to 11 - Przejdź z poziomu N na poziom N + 1
e.g. from 12 to 13 - Użyj teleportacji z poziomu 2k na poziom k
e.g. from 12 to 6 - Użyj teleportacji z poziomu 3k na poziom k
e.g. from 12 to 4
- Przejdź z poziomu N na poziom N - 1
Teleporty są tylko w jedną stronę (możesz dostać od 12 do 4, ale nie można dostać od 4 do 12)
- Każde działanie wymaga jednego kroku
Wejście
Dane wejściowe należy odczytać ze STDIN lub najbliższej alternatywy w języku programowania. Dane wejściowe składają się z liczby całkowitej, ngdzie 1 <= n <= 10^8.
Wynik
Wynikiem powinna być minimalna liczba kroków, które trzeba wykonać, aby przejść ndo poziomu 1.
Przykłady
Level Minimum number of steps
1 0
8 3
10 3
267 7
100,000,000 25
Spróbuj zaprogramować program, który pomoże nam jak najszybciej uratować naszego pilota statku kosmicznego przed więzieniem i wrócić do domu!
Najkrótszy kod wygra!