How to find the next sparse number which greater than or equal to a given number in Node.js

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 {
    is_sparse(n) {
        let result = n & (n >> 1);
             
        if (result == 0)
          return true;
             
        return false;
    }
    next_sparse(number) {
        while (true) {
            if (this.is_sparse(number)) {
                return number;
            }
            number++;
        }
      }
}
function main(args) {
    const obj = new Number();
       
    console.log(obj.next_sparse(6));
    console.log(obj.next_sparse(5));
    console.log(obj.next_sparse(38));
    console.log(obj.next_sparse(305));
}
 
main();
 
 
 
 
/*
run:
   
8
5
40
320
   
*/

 



answered Oct 12, 2021 by avibootz
...