How to find the next sparse number which greater than 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) {
        n++;
        if (is_sparse(n)) {
            return n;
        }
    }
    return -1;
}
 
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 28, 2021 by avibootz
...