Given a number N, you have to perform only two types of operations on the number:- 1) If N is odd increase it by 1 2) If N is even divide it by 2 Your task is to find the number of operations it takes to make N equal to 1. sanfoundary 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