1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
pub fn lsb(n: u64) -> usize { assert!(n > 0); n.trailing_zeros() as usize } #[cfg(test)] mod tests { use super::*; #[test] fn test() { let cases = vec![(1, 0), (0b01010, 1)]; for (n, ans) in cases { assert_eq!(lsb(n), ans); } } }