You are provided a number N. In one step, you can either divide N by 6(if N is 0) or multiply N by 2 . Find the minimum number of steps required to get 1 from N or check if it is not possible. code example
Example: minimum-number-of-steps-to-reduce-number-to-1
#minimum-number-of-steps-to-reduce-number-to-1
def stepCount(n):
count = 0
while n > 1:
if n % 2 == 0: # bitmask: *0
n = n // 2
elif n == 3 or n % 4 == 1: # bitmask: 01
n = n - 1
else: # bitmask: 11
n = n + 1
count += 1
return count