민철이는 학교 친구와 숫자 만들기 게임을 시작했다.
규칙은 A라는 숫자가 있을 때, B를 몇 번의 계산으로 만드는지를 대결하는 것이다.
만드는 연산의 횟수가 적은 사람이 이긴다.
단, 연산은 단 2가지만 존재한다.
-
A를 2배 하는 연산
-
A의 맨 오른쪽에 1을 추가하는 연산
예를 들어
2를 321로 만들기 위해선 2 -> 4 -> 8 -> 16 -> 32로 1번 연산을 4번 하고, 2번 연산으로 맨 오른쪽에 1을 추가하여 32 -> 321로 만들면 된다. 고로 총 5번의 연산이 필요하다.
정수 A와 B가 주어질 때 최소한 몇 번의 연산이 필요한지 구하는 프로그램을 작성하시오.