/*
If there are no two consecutive 1s in a number binary representation,
it is Sparse. 5 (101) is sparse, 6 (110) is not.
*/
#include <stdio.h>
#include <stdbool.h>
bool is_sparse(int n) {
int result = n & (n >> 1);
if (result == 0)
return true;
return false;
}
int next_sparse(int number) {
while (1) {
number++;
if (is_sparse(number)) {
return number;
}
}
}
int main()
{
printf("%d\n", next_sparse(72));
printf("%d\n", next_sparse(5));
printf("%d\n", next_sparse(36));
printf("%d\n", next_sparse(305));
return 0;
}
/*
run:
73
8
37
320
*/