A에서 B로 올리는게 아니라 B에서 A로 내려간다. B의 마지막 숫자가 1이면 무조건 지운다. B가 2로 나누어 떨어지면 무조건 나눈다. 둘 다 안되면 불가능! 연산 한 번 할때마다 카운트 증가.
A, B = map(int, input().split())
def solve(a, b):
cnt = 1
while True:
if b == a:
return cnt
if b % 10 == 1 and b != 1:
b //= 10
cnt += 1
elif b % 2 == 0:
b //= 2
cnt += 1
else:
return -1
print(solve(A, B))
3달전에 이상하게 풀었다.
뇌섹남(뇌마저 섹시한 남자)