贪心法
import java.util.Scanner;
public class Two {
private static long n;
private static String result;
public static void main(String[] args){
read();
solve();
printResult();
}
private static void read() {
//System.setIn(Main.class.getResourceAsStream("file.txt"));
Scanner scanner = new Scanner(System.in);
n = scanner.nextLong();
scanner.close();
}
private static void solve() {
result = "" + (n < 0 ? getStep(n * (-1)) :getStep(n));
}
private static void printResult() {
System.out.println(result);
}
private static long getStep(long n) {
if(n < 4)
return n;
if(n % 2 == 0){
return getStep(n/2) + 1;
}
else {
return Math.min(getStep((n - 1)/2) + 2, getStep((n + 1)/2)+ 2) ;
}
}
}