// If there are no two consecutive 1s in a number binary representation,
// it is Sparse. 5 (101) is sparse, 6 (110) is not.
using System;
class Program
{
public static bool is_sparse(int n) {
int result = n & (n >> 1);
if (result == 0)
return true;
return false;
}
public static int next_sparse(int number) {
while (true) {
if (is_sparse(number)) {
return number;
}
number++;
}
}
static void Main() {
Console.WriteLine(next_sparse(6));
Console.WriteLine(next_sparse(5));
Console.WriteLine(next_sparse(38));
Console.WriteLine(next_sparse(305));
}
}
/*
run:
8
5
40
320
*/