計算器 (貝殼筆試題)
阿新 • • 發佈:2018-12-10
描述
假設有這樣一個計算器,該計算器只有兩個按鈕,按下第一個按鈕能使顯示數值減少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++; } } } }