dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
use std::ops::*;

pub fn number_of_path_graph<T>(size: usize) -> Vec<T>
where
    T: Clone + Mul<Output = T> + From<usize>,
{
    let mut f: Vec<T> = vec![1.into(); size];

    f[0] = 0.into();

    for i in 3..size {
        f[i] = f[i - 1].clone() * i.into();
    }

    f
}

#[cfg(test)]

mod tests {

    use super::*;

    #[test]

    fn test() {
        let f = number_of_path_graph::<usize>(7);

        assert_eq!(f, [0, 1, 1, 3, 12, 60, 360]);
    }
}