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

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: number): boolean { 
    let result = n & (n >> 1);
        
    if (result == 0)
        return true;
        
    return false;
}
    
function next_sparse(n: number): number {
    while (1) {
 
        if (is_sparse(n)) {
            return n;
        }
        n++;    
    }
    return -1;
}
 
console.log(next_sparse(86));
console.log(next_sparse(5));
console.log(next_sparse(38));
console.log(next_sparse(305));
    
    
    
    
/*
run:
    
128
5
40
320
    
*/

 



answered Oct 28, 2021 by avibootz
...