How to find the next sparse number which greater than a given number in JavaScript

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. 
*/
   
function is_sparse(n) { 
        let result = n & (n >> 1);
       
    if (result == 0)
        return true;
       
    return false;
}
   
function next_sparse(number) {
    while (1) {
        number++;
        if (is_sparse(number)) {
            return number;
        }
    }
}

console.log(next_sparse(72));
console.log(next_sparse(5));
console.log(next_sparse(36));
console.log(next_sparse(305));
   
   
   
   
/*
run:
   
73
8
37
320
   
*/

 



answered Oct 11, 2021 by avibootz
...