How to find the next sparse number which greater than or equal to a given number in Python

1 Answer

0 votes
# If there are no two consecutive 1s in a number binary representation, 
# it is Sparse. 5 (101) is sparse, 6 (110) is not. 
  
def is_sparse(n): 
    result = n & (n >> 1)
            
    if (result == 0):
        return True
            
    return False
         
def next_sparse(number):
    while (1):
        if (is_sparse(number)):
            return number
        number += 1

print(next_sparse(6))
print(next_sparse(5))
print(next_sparse(38))
print(next_sparse(305))
 
  
    
    
'''
run:
    
8
5
40
320
    
'''

 



answered Oct 11, 2021 by avibootz
...