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