Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,846 questions

51,767 answers

573 users

How to find the next sparse number which greater than or equal to a given 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
 
    def next_sparse(number) 
        while (true) 
          if (self.is_sparse(number)) 
            return number
          end
          number += 1
        end
    end
end   
  
def main() 
  obj = Number.new()
    
  puts obj.next_sparse(6)
  puts obj.next_sparse(5)
  puts obj.next_sparse(38)
  puts obj.next_sparse(305)
end
  
main()
  
  
  
  
# run:
#
# 8
# 5
# 40
# 320
#

 



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