描述
假设有这样一个计算器,该计算器只有两个按钮,按下第一个按钮能使显示数值减少1,按下第二个按钮能使显示数值乘以2,当前显示数值为N,那么至少要按多少次按钮才能使显示数值变成M?
输入
输入两个整数N和M,1≤N,M≤109。
输出
输出使显示数值变成M的最少按按钮次数。
输入样例 1
4 5
输出样例 1
3
实现代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int count=0;
int n=in.nextInt();
int m=in.nextInt();
while(true)
{
if(n>=m)
{
count+=n-m;
System.out.println(count);
break;
}
else
{
if(m%2!=0)count++;
m=(int)Math.ceil(m/2.0);
count++;
}
}
}
}