dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
pub fn ctz_digits_double_factorial(n: u64) -> u64 {
    if n & 1 == 1 {
        return 0;
    }

    let mut cnt = 0;

    let mut p = 2;

    while p < n {
        p *= 5;

        cnt += n / p;
    }

    cnt
}

#[cfg(test)]

mod tests {

    use super::*;

    #[test]

    fn test() {
        let cases =
            vec![(12, 1), (5, 0), (1000000000000000000, 124999999999999995)];

        for (n, ans) in cases {
            assert_eq!(ctz_digits_double_factorial(n), ans);
        }
    }
}