fn longest_consecutive_zeroes(mut n: u32) -> u32 {
// Function to find the longest sequence of consecutive zeroes in binary representation
let mut max_count = 0;
let mut current_count = 0;
while n > 0 {
if (n & 1) == 0 {
// Check if the least significant bit is 0
current_count += 1;
max_count = max_count.max(current_count); // Update max_count
} else {
current_count = 0; // Reset count when a 1 is encountered
}
n >>= 1; // Right shift the number
}
max_count
}
fn main() {
let num = 11298; // Binary: 0010110000100010
println!("Longest consecutive zeroes: {}", longest_consecutive_zeroes(num));
}
/*
run:
Longest consecutive zeroes: 4
*/