How to find the next sparse number which greater than or equal to a given number in Java

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. 
 
public class MyClass {
    public static boolean 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++;
        }
    }
    public static void main(String args[]) {
        System.out.println(next_sparse(86));
        System.out.println(next_sparse(5));
        System.out.println(next_sparse(38));
        System.out.println(next_sparse(305));
    }
}
 
 
   
   
/*
run:
   
128
5
40
320
   
*/

 



answered Oct 11, 2021 by avibootz
...