抓住那头牛

描述
农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:

1、从X移动到X-1或X+1,每次移动花费一分钟
2、从X移动到2*X,每次移动花费一分钟

假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?

输入
两个整数,N和K
输出
一个整数,农夫抓到牛所要花费的最小分钟数
样例输入
5 17
样例输出
4

public static void main(String args[]){
Scanner scan=new Scanner(System.in);
System.out.println("请输入农夫位置:");
int n=Integer.parseInt(scan.nextLine());
Scanner scan1=new Scanner(System.in);
System.out.println("请输入牛位置:");
int k= Integer.parseInt(scan1.nextLine());
int zheng=Math.abs(n-k)/n;
int yushu=Math.abs(n-k)%n;
int time=zheng+yushu;
System.out.println("总时间:"+time);
}

public static int get(int n,int k){
int num=0;
while(2*n num+=1;
n*=2;
}
num+=(k-n)>=0?k-n:n-k;
return num;
}

图片说明