A에서 B로

면접 대비

시간 제한1초메모리 제한512 MB

요약
두 정수 a와 b가 주어질 때, 짝수를 2로 나누거나 1을 더하는 연산만 사용해 a를 b로 바꾸는 최소 연산 횟수를 구한다.
난이도

보통10점 중 5점

유형
그리디, 비트 연산, 수학, 구현
정답자
아직 제출이 없습니다

문제

두 정수 a와 b가 주어진다. 다음 연산을 순서대로 수행해 a를 b로 바꾸려고 한다.

  • a를 2로 나눈다 (a가 짝수일 때만 가능)
  • a에 1을 더한다

a를 b로 바꾸는 데 필요한 연산 횟수의 최솟값은 얼마인가?

입력

첫째 줄에 두 정수 a와 b가 공백으로 구분되어 주어진다. (1 ≤ a, b ≤ 10^9)

출력

a를 b로 바꾸는 데 필요한 주어진 연산 횟수의 최솟값을 정수 하나로 출력한다.

예제2

  1. 예제 1

    입력
    103 27
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3 8
    
    예상 출력
    5