/*
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
*/