How to check if a number is sparse number in Ruby

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. 
 
class Number 
    def is_sparse(n) 
        result = n & (n >> 1);
            
        if (result == 0)
            return true;
        end
         
        return false;
    end
end
 
def main() 
  obj = Number.new()
   
  puts obj.is_sparse(72)
  puts obj.is_sparse(5)
  puts obj.is_sparse(36)
  puts obj.is_sparse(305)
end
 
main()
 
 
 
 
# run:
#
# true
# true
# true
# false
#

 



answered Oct 10, 2021 by avibootz
edited Oct 16, 2021 by avibootz
...