How to check if a number is sparse number in PHP

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

function is_sparse($n) { 
    $result = $n & ($n >> 1);
     
    if ($result == 0)
      return true;
     
    return false;
}
 
echo (is_sparse(72)) ? "true\n" : "false\n";
echo (is_sparse(5)) ? "true\n" : "false\n";
echo (is_sparse(36)) ? "true\n" : "false\n";
echo (is_sparse(305)) ? "true\n" : "false\n";

 
 
 
/*
run:
 
true
true
true
false
 
*/

 



answered Oct 10, 2021 by avibootz
...