생각을 바꿔서 상위 노드는 하위 노드의 1/2의 값이 되어, 하나씩 상위노드로 갈수 있는 점을 고려하면 된다.
그러면서 node값을 하나씩 증가 시킨다.
 
n, m = map(int, input().split())
 
def node(a, b):
#  print("a:", a, "b:", b)
  if a == b:
    return 0
  elif a < b:
    return node(a, b // 2) + 1
  elif a > b:
    return node(a // 2, b) + 1
 
 
print(node(n, m))

+ Recent posts