##求0到x位置我们可以反过来思考如何从x位置到0. ##注意全部代码下输入输出都要以int整数进行处理即可。 x = int(input()) step = 0 if x < 0:##翻转负数 x = abs(x) if x <= 3:##x《=3时可直接穷举得到 step = x else:##x》3时可以通过一直除2进行迭代 while x > 3: if x%2 == 1:##如果被除数不能被2整除则需要进行前进或后退 if (x//2)%2 == 1:##判断被除数被2除后的数字能否再被2整除以判断该步是前进还是后退 x+=1 step+=1 else: x-=1 step+=1 x//=2 step+=1 else:##如果能被2整除就直接除就行 x //= 2 step += 1 step+=int(x)##除到3以下时再进行第一步的穷举即可 print(step)